Spring整合MyBatis——超详细

Spring整合MyBatis——超详细
  • 一、Spring整合MyBatis的三个关键点
  • 二、整合步骤
    • 1、创建一个Maven项目
    • 2、在pom.xml文件中添加jar包的依赖
    • 2、配置MyBatis文件
      • (1) 新建一个实体类的包和User实体类
      • (2) 编写实体类
      • (3) 新建Mapper接口包和UserMapper接口
      • (3) 新建jdbc资源文件 jdbc-config.properties
      • (4) 新建mybatis配置文件 mybatis.xml
      • (5) 新建logj4j的日志配置文件log4j.properties
      • (6) 新建User的映射mapper文件
      • (7) 在UserMapper接口中编写映射文件对应的方法
    • 3、配置Spring文件
      • (1) 新建spring配置文件spring.xml
      • (2) 编写spring.xml配置文件
      • (3) 新建测试包和测试类
      • (4) 编写测试类
      • (5) 运行测试方法
  • 三、实现其他功能
    • 1、在UserMapper.xml映射文件中,编写其他SQL语句
    • 2、在UserMapper.java接口文件中,实现映射文件中编写的SQL语句的id
    • 3、 进行测试,在测试文件中对编写的接口方法进行测试

一、Spring整合MyBatis的三个关键点

(1)将MyBatis的DataSource交给Spring IoC容器创建并管理,使用第三方数据库连接池(Druid,C3P0等)代替MyBatis内置的数据库连接池

(2)将MyBatis的SqlSessionFactory交给Spring IoC容器创建并管理,使用spring-mybatis整合jar包中提供的SqlSessionFactoryBean类代替项目中的MyBatisUtil工具类

(3)将MyBatis的接口代理方式生成的实现类,交给Spring IoC容器创建并管理

二、整合步骤

1、创建一个Maven项目

在这里插入图片描述在这里插入图片描述
在这里插入图片描述选择自动导入jar包
在这里插入图片描述

2、在pom.xml文件中添加jar包的依赖

Spring核心
MyBatis核心
MySQL JDBC驱动
log4j日志
JUnit单元测试
Lombok插件
Druid数据库连接池
Spring和的MyBatis整合包
Spring和ORM框架的整合包—此依赖项会自动导入spring-orm,spring-jdbc,spring-tx三个jar包
Spring和JUnit的整合包


        
        
            junit
            junit
            4.12
            test
        

        
        
            org.mybatis
            mybatis
            3.4.6
        

        
        
            mysql
            mysql-connector-java
            5.1.47
        

        
        
            org.projectlombok
            lombok
            1.18.12
            provided
        




        
        
            org.springframework
            spring-context
            5.3.3
        

        
        
            org.springframework
            spring-test
            5.3.3
            test
        

        
        
            org.slf4j
            slf4j-log4j12
            1.7.25
        


        
        
            com.alibaba
            druid
            1.1.10
        


        
        
            org.springframework
            spring-orm
            5.3.3
        

        
        
            org.mybatis
            mybatis-spring
            1.3.2
        

    

2、配置MyBatis文件

(1) 新建一个实体类的包和User实体类

在这里插入图片描述
在这里插入图片描述

(2) 编写实体类

我的users表
在这里插入图片描述
User的实体类
在这里插入图片描述

(3) 新建Mapper接口包和UserMapper接口

在这里插入图片描述在这里插入图片描述

(3) 新建jdbc资源文件 jdbc-config.properties

在这里插入图片描述 jdbc-config.properties文件内容为连接本地MySQL的基本信息,每个人数据库信息不一样,以自己的为准
在这里插入图片描述

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useSSL=false&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=wxc666888
(4) 新建mybatis配置文件 mybatis.xml

在这里插入图片描述
配置文件内容只有一个空壳,里面有一个settings的属性,其他的基本信息都有可以通过spring来实现,因此相对于来说是一个空的配置文件






	
	
		
		
		
	

(5) 新建logj4j的日志配置文件log4j.properties

在这里插入图片描述
内容为日志的输出类型和其他配置信息
在这里插入图片描述

log4j.rootLogger=DEBUG, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
(6) 新建User的映射mapper文件

先新建一个包,包名和上方的mapper接口的包名要一致
注:新建directory
在这里插入图片描述其次新建UserMapper映射文件UserMapper.xml
在这里插入图片描述映射文件内容为:









    
    
    
    

    
	

(7) 在UserMapper接口中编写映射文件对应的方法

映射文件中的select 的id为findUserList,因此接口文件中的方法名就为findUserList,出现红线也不用着急,运行的时候不影响
在这里插入图片描述

3、配置Spring文件

(1) 新建spring配置文件spring.xml

在这里插入图片描述

(2) 编写spring.xml配置文件

i:修改spring.xml—加载数据库连接信息的属性文件
加载上方的jabc-config.properties数据库连接的基础信息
ii:配置Druid数据源的Bean
利用阿里巴巴的数据库连接池,根据上方的jabc-config.properties的文件创建一个dataSource连接信息
iii:配置SqlSessionFactory的Bean,并注入DataSource
把数据库连接存放在工厂中
iiii:配置自动扫描mapper的Bean—MapperScannerConfigurer
把上方的mapper接口文件都自动注入到IoC容器中,实现类Bean的名称默认为接口类名的首字母小写




    
    
    
        
    

        
        
        
        

    


    
    

        
        

        
        

        
        

    

    
    

        
        

    

(3) 新建测试包和测试类

在这里插入图片描述在这里插入图片描述

(4) 编写测试类
package com.tjise.test;

import com.tjise.entity.User;
import com.tjise.mapper.UserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring.xml")
public class Test_SpringMyBatis {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testFindUserList(){
        List userList = userMapper.findUserList();
        System.out.println(userList);
    }

}
(5) 运行测试方法

测试成功
在这里插入图片描述

三、实现其他功能

以上只是用了一个查询数据库users表全部信息的操作,剩下的自己根据自己的需要实现
只需要进行如下步骤:

1、在UserMapper.xml映射文件中,编写其他SQL语句

在这里插入图片描述

2、在UserMapper.java接口文件中,实现映射文件中编写的SQL语句的id

在这里插入图片描述

3、 进行测试,在测试文件中对编写的接口方法进行测试

在这里插入图片描述

你可能感兴趣的:(面试,学习路线,阿里巴巴,spring,mybatis,java)