Spring整合Mybatis

Mybatis使用步骤简述:

1.编写实体类

2.编写mybatis主配置文件(记得绑定Mapper配置文件)

3.编写dao层接口

4.编写dao层接口对应的mapper配置文件

5.测试(拿到Sqlsession接口实例对象后,Mybatis通过代理dao实现DB操作)

Spring整合Mybatis_第1张图片

而Spring整合Mybatis其实可以分为三大步骤:

1.导包 2.写配置文件 3.测试

1.导包:

  • junit
  • mybatis
  • mysql数据库
  • spring相关
  • aop织入器
  • mybatis-spring整合包【重点】
  • 配置Maven静态资源过滤问题!
  •  
            
            
                junit
                junit
                4.12
            
            
            
                mysql
                mysql-connector-java
                5.1.47
            
            
            
                com.mchange
                c3p0
                0.9.5.2
            
    
            
            
                javax.servlet
                servlet-api
                2.5
            
            
                javax.servlet.jsp
                jsp-api
                2.2
            
            
                javax.servlet
                jstl
                1.2
            
    
            
            
                org.mybatis
                mybatis
                3.5.2
            
            
                org.mybatis
                mybatis-spring
                2.0.2
            
    
            
            
                org.springframework
                spring-webmvc
                5.1.9.RELEASE
            
            
                org.springframework
                spring-jdbc
                5.1.9.RELEASE
            
            
            
            
                org.aspectj
                aspectjweaver
                1.9.4
            
            
                org.projectlombok
                lombok
                1.18.22
            
        
    
    
        
            
                
                    src/main/java
                    
                        **/*.properties
                        **/*.xml
                    
                    false
                
                
                    src/main/resources
                    
                        **/*.properties
                        **/*.xml
                    
                    false
                
            
        
  • 2.写配置文件
  • 2.1Mybatis-Spring(重点):核心 -> sqlSessionTemplate
  • 什么是MyBatis-Spring?

    MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。

    文档链接:http://mybatis.org/spring/zh/index.html

    如果使用 Maven 作为构建工具,仅需要在 pom.xml 中加入以下代码即可:
           
           
                org.mybatis
                mybatis-spring
                2.0.2
           


  • 整合实现方式一:核心 -> sqlSessionTemplate

  • 1.引入Spring配置文件spring-dao.xml,并把关键对象的创建交给 spring 控制反转(IOC),生成:连接池对象,SqlSessionFactory工厂类,SqlSession对象
  • 2.使用Spring的数据源替换Mybatis的数据源
  • 3.配置SqlSessionFactory,关联MyBatis配置文件
  • 4.注册sqlSessionTemplate,关联sqlSessionFactory
  • Spring整合Mybatis_第2张图片
  • 5.需要给  接口  加 实现类;原来我们的所有操作,都使用sqlSession来执行;而现在都使用SqlsessionTemplate,即原来Mybatis的工作由Spring接管控制
    • public class UserMapperImpl implements UserMapper {

      • 方式二此步骤省略,不用注入SqlSessionTemplate)

        •     //原来我们的所有操作,都使用sqlSession来执行;而现在都使用SqlsessionTemplate
              private SqlSessionTemplate sqlSession;

              public void setSqlSession(SqlSessionTemplate sqlSession) {
                  this.sqlSession = sqlSession;
              }

              public List selectUser() {
                  UserMapper mapper = sqlSession.getMapper(UserMapper.class);
                  return mapper.selectUser();
              }
          }

  • 6.将自己写的实现类,注入到Spring配置文件中。

  • 7.测试

  •     /*
        * 1. 创建spring容器
               根据xml文件应用程序Context容器(上下文)
               classpath指配置文件的位置, 起点有java, resources. 写路径时相对这个起点去写
        * */

        @Test
        public void test () throws IOException {

            ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");

  • //实现类在Spring容器中的名字: userMapper
            UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
            for (User user : userMapper.selectUser()) {
                System.out.println(user);
            }
        }

整合实现方式二:dao继承Support类 , 直接利用 getSqlSession() 获得 , 然后直接注入SqlSessionFactory . 比起方式1 , 不需要管理SqlSessionTemplate , 而且对事务的支持更加友好 . 可跟踪源码查看

 其他和方式一相同

方式三:

        一般在实际开发中,Spring可以配置扫描Dao接口包,动态实现Dao接口注入到spring容器中,从而省略了 创建dao接口实现类 这一步骤。




    
    
    
    
 
  

你可能感兴趣的:(Spring整合Mybatis,spring,java,maven)