mybatis-spring的官网地址:https://github.com/mybatis/spring
demo项目地址:https://gitee.com/shuashua-world/shuashua-blog/tree/master/demo/mybatis-simple-demo
org.mybatis
mybatis-spring
2.0.7
org.mybatis
mybatis
3.5.11
org.springframework
spring-context
5.3.20
org.springframework
spring-jdbc
4.3.13.RELEASE
com.alibaba
druid
1.1.10
c3p0
c3p0
0.9.1.2
mysql
mysql-connector-java
5.1.39
org.projectlombok
lombok
1.18.24
true
ch.qos.logback
logback-classic
1.2.3
在基础的 MyBatis 用法中,是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来创建。
需要注意的是,这个配置文件并不需要是一个完整的 MyBatis 配置。确切地说,任何环境配置(
如果 MyBatis 在映射器类对应的路径下找不到与之相对应的映射器 XML 文件,那么也需要配置文件。这时有两种解决办法:
其他:在容器管理事务的时候,你可能需要的一个属性是 transactionFactoryClass。
如果你使用了多个数据库,那么需要设置 databaseIdProvider 属性。
小贴士:自 1.3.0 版本开始,新增的 configuration 属性能够在没有对应的 MyBatis XML 配置文件的情况下,直接设置 Configuration 实例。
public static void main(String[] args) throws PropertyVetoException, SQLException {
//读取spring容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//从容器中获取dataSource
DataSource dataSource = applicationContext.getBean(DataSource.class);
StudentMapper studentMapper = applicationContext.getBean(StudentMapper.class);
studentMapper.selectAll().forEach(System.out::println);
}
一个使用 MyBatis-Spring 的其中一个主要原因是它允许 MyBatis 参与到 Spring 的事务管理中。而不是给 MyBatis 创建一个新的专用事务管理器,MyBatis-Spring 借助了 Spring 中的 DataSourceTransactionManager 来实现事务管理。
一旦配置好了 Spring 的事务管理器,你就可以在 Spring 中按你平时的方式来配置事务。并且支持 @Transactional 注解和 AOP 风格的配置。在事务处理期间,一个单独的 SqlSession 对象将会被创建和使用。当事务完成时,这个 session 会以合适的方式提交或回滚。
事务配置好了以后,MyBatis-Spring 将会透明地管理事务。
页面更新:2024-04-22
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号