栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring中整合MyBatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring中整合MyBatis

文章目录
  • 在Spring中整合MyBatis
    • 1、整合MyBatis
    • 2、 回顾Mybatis
    • 3、mybatis-spring-方式一

在Spring中整合MyBatis 1、整合MyBatis

1、导入相关jar包


    
        
            junit
            junit
            4.12
        
     
        
            mysql
            mysql-connector-java
            5.1.47
        
   
        
            org.mybatis
            mybatis
            3.5.2
        
     
        
            org.springframework
            spring-webmvc
            5.1.19.RELEASE
        
        
        
            org.springframework
            spring-jdbc
            5.1.19.RELEASE
        
        
            org.aspectj
            aspectjweaver
            1.9.4
        
        
    
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.projectlombok
            lombok
            1.18.10
        
    

Maven静态资源过滤问题

    
        
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                
                    ***.xml
                
                false
            
        
    

2、编写配置文件

3、代码实现

2、 回顾Mybatis

编写实体类【pojo】

@Data
public class User {
    private int id;
    private String name;
    private String pwd;
}

实现mybatis-config.xml核心配置文件





    
        
    

    
        
            
            
                
                
                
                
            
        
    

    
        
    

编写Mapper接口和配置文件

public interface UserMapper {
    public List selectUser();
}



    

测试类

public class MyTest {
    @Test
    public void test() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List userList = mapper.selectUser();

        for (User user:userList){
            System.out.println(user);
        }
    }
}
3、mybatis-spring-方式一
  1. 编写数据源配置
  2. sqISessionFactory
  3. sqISessionTemplate(相当于sqISession)
  4. 需要给接口加实现类【new】
  5. 将自己写的实现类,注入到Spring中
  6. 测试!

spring-dao.xml



    
    
        
        
        
        
    
    
    
    
        
        
        
        
    
    
    
    
        
    


applicationContext.xml【将自己写的实现类,注入到Spring中】




    
    
    
        
    

给接口加实现类

public class UserMapperImpl implements UserMapper{
    //我们的所有操作,都使用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();
    }
}
public interface UserMapper {
    public List selectUser();
}

//测试类
@Test
    public void test() throws IOException {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
        for (User user : userMapper.selectUser()) {
            System.out.println(user);
        }
    }

12.3 mybatis-spring-方式二

编写UserMaperImpl实现类

public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
    public List selectUser() {
        SqlSession sqlSession = getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        return getSqlSession().getMapper(UserMapper.class).selectUser();
    }
}

注册到spring中


        

使用第二种方式时,spring-dao.xml中的这个Bean可以不写


		
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号