扩展: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版、配置文件版,这三版可以混合使用,


阅读更多
个人分类: SpringBoot
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭