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

9. Sping5整合MyBatis

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

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 BatchJava
2.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的时候还会测试整合!

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

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

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