Bootstrap

mybatis-plus使用+generator逆向工程

MyBatis-Plus (opens new window) (简称 MP)是一个  MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网地址:  简介 | MyBatis-Plus
用idea开发的建议安装一个mybatisx的插件,可以实现xml和dao层之间的跳转以及天生自带generator的功能
本文将对mybatis-plus引入到工程以及generator逆向工程两个功能的着重描述配置

mybatis-plus引入到工程

1、pom文件引入mybatis-plus

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
</dependency>


<!--数据库连接-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>

2、application.yml文件配置多数据源

spring:
  application:
    name: user
    #自定义模块名name-ip,logback通过该字段区分日志来源
    moduleName: user-dev
  # 出现404错误时,抛出异常给应用层处理
  mvc:
    throw-exception-if-no-handler-found: true
  resources:
    add-mappings: false #告诉 SpringBoot 不要为我们工程中的资源文件建立映射
  redis:
    host: 192.168.1.1         # 服务器地址
    port: 6379                # 服务端口号
    database: 0               # 数据库索引
    password: 1               # 服务器连接密码默认为空
    jedis:
      pool:
        max-active: 1000  # 连接池最大连接数
        max-wait: 3000  # 连接池最大阻塞等待时间
        max-idle: 500    # 连接池中最大的空闲连接
        min-idle: 100     # 连接池中最小的空闲连接
        time-between-eviction-runs: 60000
    timeout: 200       # 连接超时时间


  jackson:
    time-zone: Asia/Shanghai
    date-format: yyyy-MM-dd HH:mm:ss
  # jdbc_config   datasource
  datasource:
    dynamic:
      primary: master  #设置默认的数据源或者数据源组,默认值即为master
      strict: false    #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
      datasource:
        master:
          url: jdbc:mysql://192.168.1.1:3306/user?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
          username: root
          password: 123456
          driver-class-name: com.mysql.cj.jdbc.Driver
          type: com.zaxxer.hikari.HikariDataSource
          hikari:
            minimum-idle: 5
            maximum-pool-size: 15
            auto-commit: true
            idle-timeout: 30000
            pool-name: springHikariCP
            max-lifetime: 1800000
            connection-timeout: 30000
            connection-test-query: SELECT 1
        slave:
          url: jdbc:mysql://192.168.1.1:3306/user2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
          username: root
          password: 123456
          driver-class-name: com.mysql.cj.jdbc.Driver
          type: com.zaxxer.hikari.HikariDataSource
          hikari:
            minimum-idle: 5
            maximum-pool-size: 15
            auto-commit: true
            idle-timeout: 30000
            pool-name: springHikariCP
            max-lifetime: 1800000
            connection-timeout: 30000
            connection-test-query: SELECT 1


mybatis-plus:
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapper-locations: classpath:mybatis/mapper/**/*Mapper.xml
  global-config:
    # 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0


#  configuration:
#    # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台)
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3、主键id特殊功能实现

实现主键id既可以采用mysql的自增功能也可以手动传入id保存到db功能,此时需要对象属性为 @TableId (value = "id" , type = IdType . INPUT ), 如果设置为auto则无法手动传入id,如果简单设置为input则只能手动输入id无法自增,为了同时满足这两个条件,
;