Spring整合第三方框架-MyBatis整合Spring实现

Spring整合MyBatis的步骤

  • 导入MyBatis整合Spring相关坐标。
    • 
              
                  org.mybatis
                  mybatis-spring
                  2.0.5
              
              
                  org.springframework
                  spring-jdbc
                  5.3.13
              
      
      
      
  • 编写Mapper接口和Mapper.xml
  • 在配置文件中配置SqlSessionFactoryBean和MapperScannerConfigurer
    • SqlSessionFactoryBean:向Spring容器中提供SqlSessionFactory
    • MapperScannerConfigurer:将Mapper接口类对象存储到Spring容器中(交给容器管理后就可以在需要的地方直接注入Mapper接口类对象即可)
      • 
        
            
            
                
                
                
                
            
        
            
                
            
        
            
            
                
            
        
            
                
                
                
            
        
            
        
        
    • 上述两个文件配置完成之后就替代了MyBatis原始代码中配置MyBatis参数的配置文件
      • 原始代码的配置文件
      • 
        
        
            
                
                    
                    
                        
                        
                        
                        
                    
                
            
            
            
                
            
        
  • 编写测试代码
    • package com.example.Test;
      
      
      import com.example.Service.UserService;
      import org.springframework.context.support.ClassPathXmlApplicationContext;
      
      public class TestApplicationContext {
          public static void main(String[] args) {
              ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
              UserService UserServiceBean = (UserService) context.getBean(UserService.class);
              UserServiceBean.show();
          }
      }
      
      


       

    • 接口实现类UserServiceImpl

      • package com.example.Service.Impl;
        
        import com.example.DAO.UserDAO;
        import com.example.Mapper.EmpMapper;
        import com.example.Service.UserService;
        import com.example.pojo.Emp;
        
        import java.util.List;
        
        
        public class UserServiceImpl implements UserService {
            public EmpMapper empMapper;
        
            public UserServiceImpl() {
                System.out.println("UserService对象创建");
            }
        
            private UserDAO userDAO;
            private String name;
        
        
            public void setName(String name) {
                this.name = name;
            }
        
            public void setUserDAO(UserDAO userDAO) {
                System.out.println("UserService执行注入UserDAO的操作:setDAO方法");
                this.userDAO = userDAO;
            }
        
            @Override
            public void show() {
                List all = empMapper.findAll();
                for (Emp emp : all) {
                    System.out.println(emp);
                }
            }
        
            public void setEmpMapper(EmpMapper empMapper) {
                this.empMapper = empMapper;
            }
        }
        
      • 上述接口实现类的代码中,将Mapper接口类的对象直接进行注入(与配置文件中的配置相对应)

      • 运行测试代码结果如下

        • Spring整合第三方框架-MyBatis整合Spring实现_第1张图片

 

你可能感兴趣的:(Spring,5,mybatis,spring,java)