首页 > 编程语言 > 详细

spring--mybatis整合

时间:2021-04-27 20:13:31      阅读:19      评论:0      收藏:0      [点我收藏+]

MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring的

 DataAccessException。最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。

步骤:

  • 编写数据源配置
  • sqlSessionFactory
  • sqlSessionTemplate
spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!--DataSource: 使用Spring的数据源替换mybatis的配置 c3p0 dbcp druid 我们使用Spring提供的jdbc--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <!--SqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--绑定Mybatis配置文件--> <property name="configLocation" value="classpath:mybatis-config.xml"/> <property name="mapperLocations" value="classpath:edu/cqupt/mapper/*.xml"/> </bean> <!--SqlSessionTemplate 就是我们使用的的SqlSession--> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <!--只能使用构造器注入SqlSessionFactory 因为他没有set方法--> <constructor-arg index="0" ref="sqlSessionFactory"/> </bean> </beans>

 

  • 需要给接口加实现类  
  • UserMapperImpl
    public
    class UserMapperImpl implements UserMapper { //在原来我们的所有操作都使用SqlSession来执行,现在都使用SqlSessionTemplate; private SqlSessionTemplate sqlSession; public void setSqlSession(SqlSessionTemplate sqlSession) { this.sqlSession = sqlSession; } public List<User> selectUser() { UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.selectUser(); return userList; } }

     

  • 将自己写的实现类,注入到Spring中
  • applicationContext.xml  
    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context = "http://www.springframework.org/schema/context" xmlns:aop = "http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"> <!--指定要扫描的包,这个包下的注解就会生效--> <context:component-scan base-package="edu.cqupt"/> <context:annotation-config/> <import resource="spring-dao.xml"/> <bean id="userMapper" class="edu.cqupt.mapper.UserMapperImpl"> <property name="sqlSession" ref="sqlSession"/> </bean> </beans>

     

  • 测试使用即可
  • @Test
        public void test() throws IOException {
           ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
            List<User> userList = userMapper.selectUser();
            for (User user : userList) {
                System.out.println(user);
            }
        }

     

spring--mybatis整合

原文:https://www.cnblogs.com/yuanlianyao/p/14709877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!