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


  • 相关阅读:
    命名是个技术活(转)
    我想知道的是这个月哪种商品销售量最高,比上个月怎么样?销量近几个月的走势是什么?有没有未达标的?有没有超额完成的?超额完成了多少?我可不关心这个月到底售出了多少件,几点售出的,谁买的(转)
    一个demo
    oracle 创建字段自增长——两种实现方式汇总(转)
    Ruby 一些经常使用的细节
    CMap与hash_map效率对照
    Unity 4.5.2 for Mac 下载+安装+破解
    Android中View绘制流程以及invalidate()等相关方法分析
    Android Studio 100 tips and tricks
    JavaScript-2.2 document.write 输出到页面的内容
  • 原文地址:https://www.cnblogs.com/duende99/p/10461666.html
Copyright © 2011-2022 走看看