9. Sping5整合MyBatis

9. Sping5整合MyBatis,第1张

9. Sping5整合MyBatis

文章目录

项目结构Mybatis层准备

1. 导入pom依赖2. 编写com.kuang.pojo实体类User3. 在com.kuang.mapper包下,编写UserMapper接口、UserMapper.xml4. resources包下,编写mybatis-config.xml Sping5整合MyBatis的步骤

0. 需要导入mybatis-spring的pom依赖1. 引入Spring配置文件beans.xml2. 配置数据源ataSource,替换mybaits的数据源3. 配置SqlSessionFactory,关联MyBatis4. 注册sqlSessionTemplate,关联sqlSessionFactory;5. 增加UserMapper接口的实现类UserMapperImpl;私有化sqlSessionTemplate6. 还是在beans.xml中,注册bean实现7. 测试,并得到结果 整合实现二:使用SqlSessionDaoSupport

1. 整合实现二项目结构2. 修改一:编写UserMapperImpl23. 修改二:修改beans.xml的配置4. 测试代码一样,进行测试

项目结构


所用数据库为2mybatis_first



Mybatis层准备 1. 导入pom依赖
    

        1.8
        1.8

        UTF-8
        UTF-8

        
        
        4.12
        
        1.18.10
        
        1.2
        1.1.2
        2.5
        2.0
        

    


    
        
        
            junit
            junit
            ${junit.version}
        
        
        
            org.projectlombok
            lombok
            ${lombok.version}
        
        
        
            jstl
            jstl
            ${jstl.version}
        
        
            taglibs
            standard
            ${standard.version}
        
        
            javax.servlet
            servlet-api
            ${servlet-api.version}
            provided
        
        
            javax.servlet
            jsp-api
            ${jsp-api.version}
            provided
        
        

        
        
            org.mybatis
            mybatis
            3.5.4
        
        
        
            mysql
            mysql-connector-java
            8.0.12
        
        
        
            org.springframework
            spring-webmvc
            5.1.10.RELEASE
        
        
            org.springframework
            spring-jdbc
            5.1.10.RELEASE
        
        
            org.aspectj
            aspectjweaver
            1.9.4
        
        
        
            org.mybatis
            mybatis-spring
            2.0.2
        
    


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

2. 编写com.kuang.pojo实体类User
@Data
public class User {
    private int id;  //id
    private String name;   //姓名
    private String pwd;   //密码
}

3. 在com.kuang.mapper包下,编写UserMapper接口、UserMapper.xml

UserMapper接口:

public interface UserMapper {
    public List selectUser();
}

UserMapper.xml:
要注意namespace下的包名





    



4. resources包下,编写mybatis-config.xml











Sping5整合MyBatis的步骤 0. 需要导入mybatis-spring的pom依赖

什么是 MyBatis-Spring?

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

知识基础

在开始使用 MyBatis-Spring 之前,你需要先熟悉 Spring 和 MyBatis 这两个框架和有关它们的术语。这很重要

MyBatis-Spring 需要以下版本:

MyBatis-SpringMyBatisSpring 框架Spring BatchJava2.03.5+5.0+4.0+Java 8+1.33.4+3.2.2+2.1+Java 6+

   org.mybatis
   mybatis-spring
   2.0.2



1. 引入Spring配置文件beans.xml






2. 配置数据源ataSource,替换mybaits的数据源

第三方数据源有:c3p0 dbcp druid

这里使用spring的数据源dataSource替换Mybatis的配置 【需要导入pom包:spring-jdbc】


    
    
    
    



3. 配置SqlSessionFactory,关联MyBatis

在 MyBatis-Spring 中,可使用SqlSessionFactoryBean来创建 SqlSessionFactory


    
    
    
    
    
    
                



4. 注册sqlSessionTemplate,关联sqlSessionFactory;

SqlSessionTemplate 是 MyBatis-Spring 的核心。作为 SqlSession 的一个实现,这意味着可以使用它无缝代替你代码中已经在使用的 SqlSession


    
    



5. 增加UserMapper接口的实现类UserMapperImpl;私有化sqlSessionTemplate

根据上一步,可知此时的sqlSessionTemplate相当于:在Mybatis上的已经在使用的 SqlSession

public class UserMapperImpl implements UserMapper {

    //sqlSession不用我们自己创建了,Spring来管理
    private SqlSessionTemplate sqlSession;

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

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



6. 还是在beans.xml中,注册bean实现

    



7. 测试,并得到结果
 @Test
public void test2(){
    ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    UserMapper mapper = (UserMapper) context.getBean("userMapper");
    List user = mapper.selectUser();
    System.out.println(user);
}

结果成功输出!现在我们的Mybatis配置文件的状态!发现都可以被Spring整合!



整合实现二:使用SqlSessionDaoSupport

mybatis-spring1.2.3版以上的才有这个 。
SqlSessionDaoSupport是一个抽象的支持类,用来为你提供sqlsession。
调用getsqlsession()方法你会得到一个SglSessionTemplate,之后可以用于执行SQL方法

1. 整合实现二项目结构

2. 修改一:编写UserMapperImpl2
public class UserMapperImpl2  extends SqlSessionDaoSupport implements UserMapper {

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

}
3. 修改二:修改beans.xml的配置

     

4. 测试代码一样,进行测试
@Test
public void test2(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   UserMapper mapper = (UserMapper) context.getBean("userDao");
   List user = mapper.selectUser();
   System.out.println(user);
}

输出结果

总结 : 整合到spring以后可以完全不要mybatis的配置文件,除了这些方式可以实现整合之外,我们还可以使用注解来实现,这个等我们后面学习SpringBoot的时候还会测试整合!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存