了解c2c电商网站的特点,wordpress显示当前文章的分类,网站备案 现场提交,wordpress技术论坛目录
尝试在mybatis项目中书写增删改查
遇见问题#xff1a;使用mybaties向数据库中插入数据#xff0c;idea显示插入成功#xff0c;但是数据库中并没有数据变化?
MyBatis核心配置文件剖析
细节剖析#xff1a;
try-catch新用法 截至目前我的项目存在的问题#xf… 目录
尝试在mybatis项目中书写增删改查
遇见问题使用mybaties向数据库中插入数据idea显示插入成功但是数据库中并没有数据变化?
MyBatis核心配置文件剖析
细节剖析
try-catch新用法 截至目前我的项目存在的问题Mapper.xml文件中的SQL语句任然是死的 这里还有一个问题就是。假如表结构的列名和你设计的pojo中的列名虽然能够对应上但是名字不一样比如大小写或者多个符号等等这种情况咋办我们在书写sql语句时学习过给列名取别名的方法上述情况可以使用取别名的方式来解决
尝试在mybatis项目中书写增删改查
遇见问题使用mybaties向数据库中插入数据idea显示插入成功但是数据库中并没有数据变化? 可能的原因有几种 没有提交事务在使用 MyBatis 进行数据库操作时需要手动提交事务。你可以在插入数据完成后调用 commit() 方法来提交事务。如果没有提交事务数据库中的数据不会被实际保存。 配置问题请确保你的数据库连接配置正确并且连接到了正确的数据库。可以检查配置文件中的数据库URL、用户名和密码等信息是否正确。 SQL语句错误请检查你的插入语句是否正确。可能存在语法错误或者数据类型不匹配等问题导致插入失败。可以尝试手动执行相同的 SQL 语句来验证。 数据库自动提交设置有些数据库默认情况下是自动提交的即每次执行 SQL 语句后会自动将修改保存到数据库。如果你的数据库是自动提交模式可能是其他代码修改了数据后没有及时提交导致看不到变化。 数据库事务隔离级别如果你在启用了事务的情况下进行插入操作可能是由于事务隔离级别导致的。可以尝试将事务隔离级别设置为 READ_COMMITTED或者禁用事务来验证是否能够正常插入数据。 MyBatis核心配置文件剖析
mybatis-config.xml文件案例
?xml version1.0 encodingUTF-8 ?!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfiguration!-- 加载类路径下的属性配置文件 --properties resourcedb.properties/!-- 默认使用的环境 ID比如defaultdevelopment也就是说我们可以配置多套environment环境其中default是默认环境也就是不同的数据库不同的数据库配置不同的环境我们可以在environments中配置多个环境--environments defaultdevelopment!--每个 environment 元素定义的环境 ID--environment iddevelopment!--transactionManager 事务管理器type的值有JDBC和MANAGEDJDBC – 这个配置直接使用了 JDBC 的提交和回滚设施它依赖从数据源获得的连接来管理事务作用域也就是给我们来手动管理事务的提交。--transactionManager typeJDBC/!--dataSourcedataSource 数据源 dbcp c3p0 druidtype[UNPOOLED|POOLED|JNDI]POOLED意思有连接池的连接UNPOOLED意思没有连接池的连接--dataSource typePOOLED!-- JDBC 驱动--property namedriver value${mysql.driver}/!-- url数据库的 JDBC URL地址。--property nameurl value${mysql.url}/property nameusername value${mysql.username}/property namepassword value${mysql.password}/!-- defaultTransactionIsolationLevel – 默认的连接事务隔离级别。ndash;gt;--!-- property namedefaultTransactionIsolationLevel value/--!-- defaultNetworkTimeout – 等待数据库操作完成的默认网络超时时间单位毫秒ndash;gt;--!-- property nameefaultNetworkTimeout value/--/dataSource/environment/environmentsmappers!-- 使用相对于类路径的资源引用 --mapper resourcemapper/UserMapper.xml/!-- 使用完全限定资源定位符URL不推荐使用mapper urlE:\JetBrains\mybatis学习\Mybatis-study\Mybatis-03\src\main\java\asia\xiaojiang\mybatis03\dao\UserMapper.xml/--!-- 使用映射器接口实现类的完全限定类名使用注意点接口和其配置文件必须同名 必须在同一个包下--!-- mapper classasia.xiaojiang.mybatis03.dao.UserMapper/--!-- 将包内的映射器接口实现全部注册为映射器使用包扫描注意点接口和其配置文件必须同名 必须在同一个包下--!-- package nameasia.xiaojiang.mybatis03.dao/--/mappers/configuration
细节剖析 environments defaultdevelopment 默认使用的环境 ID比如defaultdevelopment也就是说我们可以配置多套environment环境其中default是默认环境这里的环境我们如何理解数据库中的一个数据库对应一个环境那么不同的环境也就是不同的数据库不同的数据库配置不同的环境我们可以在environments中配置多个环境然后指定一个default默认环境 那么这个环境在那里使用呢我们在创建sqlSessionFactory对象时会遇见下图的情况也就是参数中除了reader流还会有一个environment参数这里的environment就是指定数据库也就是指定环境此时我们就可以得到一个环境或者一个数据库对应一个sqlSessionFactory对象他的build方法还有只有一个reader流参数的重载方法使用这个方法时就采用的是默认的环境当然你也可以指定 default的值是什么这里的值就是下面不同环境的id值。不同环境会有一个不同id transactionManager typeJDBC/
transactionManager 事务管理器, type的值有JDBC和MANAGED JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施它依赖从数据源获得的连接来管理事务作用域也就是给我们来手动管理事务的提交。 MANAGED —这个配置的意思是将事务的管理交给其他如即将要学的spring等等
--
dataSourcedataSource 数据源 dbcp c3p0 druid
type[UNPOOLED|POOLED|JNDI]
POOLED意思有连接池的连接
UNPOOLED意思没有连接池的连接--
dataSource typePOOLED
!-- JDBC 驱动--
property namedriver value${mysql.driver}/
!-- url数据库的 JDBC URL地址。--
property nameurl value${mysql.url}/
property nameusername value${mysql.username}/
property namepassword value${mysql.password}/
!-- defaultTransactionIsolationLevel – 默认的连接事务隔离级别。ndash;gt;--
!-- property namedefaultTransactionIsolationLevel value/--
!-- defaultNetworkTimeout – 等待数据库操作完成的默认网络超时时间单位毫秒ndash;gt;--
!-- property nameefaultNetworkTimeout value/--
/dataSource datasource是数据源什么是数据源呢这里的数据源不是数据的源头而是提供connection连接的对象例如数据库连接池就叫做数据源 try-catch新用法