zoukankan      html  css  js  c++  java
  • 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合

    转:https://blog.csdn.net/qq_35153200/article/details/79538440

    开发环境:

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


  • 相关阅读:
    1.5寻找倒数第k个元素
    MySQL基础之分组函数
    MySQL基础之单行函数
    MySQL基础查询(一)
    gem install redis Fetching: redis-4.1.3.gem (100%) ERROR: Error installing redis: redis requires Ruby version >= 2.3.0.
    SQL语句
    使用kill无法杀死mysql进程
    Ansible学习笔记
    rsync报错:rsync: chgrp ".hejian.txt.D1juHb" (in backup) failed: Operation not permitted (1)
    Linux磁盘管理
  • 原文地址:https://www.cnblogs.com/duende99/p/10461666.html
Copyright © 2011-2022 走看看