SpringBoot+MyBatis框架+mysql数据库的整合(通用mapper版)

开发环境:

开发工具:Intellij IDEA 2017.2.3
JDK : 1.8.0_144
spring boot 版本 : 1.5.10.RELEASE
maven : 3.2.3

SpringBoot集成MyBatis加入基础依赖:

mybatis:
<!--mybatis-->
<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.3.1</version>
</dependency>
<!--通用mapper插件-->
<dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>1.1.5</version>
</dependency>

MySQL:
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.38</version>
</dependency>

数据库配置:

application.yml
spring:
  datasource:
     url: jdbc:mysql://192.168.1.59:3306/test?useUnicode=true&characterEncoding=UTF-8
     username: root
     password: 123456
     driver-class-name: com.mysql.jdbc.Driver
在Mysql数据库中创建数据表:

CREATE DATABASE mytest;
 USE mytest; 
CREATE TABLE t_user(
      id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
      name VARCHAR(255) NOT NULL , 
      password VARCHAR(255) NOT NULL ,
      phone VARCHAR(255) NOT NULL ) ENGINE=INNODB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;
MyBatis 配置文件配置
application.yml( 映射文件配置的位置
#初始化自定义的接口mapper
mapper:
     mappers: com.test2.mapper.CommonMapper
     not-empty: false
     identity: MYSQL


使用Mybatis:

创建映射对象User
/** * User实体映射类 
     * Created by Administrator on 2017/11/24. 
     */ 
@Table (name = "t_user" )
public class User { 
     @Id
     private Integer id; 
     private String name; 
     private String password; 
     private String phone; 
     //省略 get 和 set ... 
}
实现自己的接口,继承通用的mapper
package com.test2.mapper;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

public interface CommonMapper<T> extends Mapper<T>,MySqlMapper<T> {
    //这里实现一个自己的接口,继承通用的mapper,关键点就是这个接口不能被扫描到(不加注解就不会被扫描到),
}

创建User映射的操作UserMapper,为了后续单元测试验证,实现插入和查询操作
@Mapper
public interface UserMapper extends CommonMapper<User>{

}

创建单元测试:

@RunWith(SpringRunner.class)
@SpringBootTest
public class Demo2ApplicationTests {

   @Autowired
   private UserMapper userMapper;

   @Test
   public void insert(){
      User user = new User();
      user.setName("aaa");
      user.setPassword("222222");
      user.setPhone("123456");
      userMapper.insert(user);
   }
}


通用mapper版:
     1.首先需要在pom.xml中引入 通用mapper插件包;
   2.在创建实体类 时,需要指明表名和主键id
   3. 实现自己的通用接口,继承通用的mapper
   4.创建的mapper接口,只需要继承自定义的通用接口就可以使用默认的方法

注意:配置版、通用mapper版、配置文件版,这三版可以混合使用,


猜你喜欢

转载自www.cnblogs.com/duende99/p/10461666.html
今日推荐