spring boot 集成 mybatis plus

前言

mybatis plus 是一款对 mybatis 的增强工具,通过封装通用的增删改查,简化了 Mapper 的编写,自动生成代码工具生成 dao,service,controller 层的代码,非常方便

集成

创建一个 maven 项目,加入如下常用的依赖:

        
            com.baomidou
            mybatis-plus-boot-starter
            3.0.1
        

        
            com.alibaba
            druid
            1.1.6
        

        
            com.alibaba
            fastjson
            1.2.51
        

        
        
            mysql
            mysql-connector-java
            runtime
        

        
            org.projectlombok
            lombok
            1.18.2
            provided
        

        
        
            org.apache.velocity
            velocity-engine-core
            2.0
        

        
        
            org.freemarker
            freemarker
            2.3.23
        

创建配置生成工具类,生成相关代码:

public class MpGenerator {

    public static void main(String[] args) {
        String dbUrl = "jdbc:mysql://localhost:3306/eshop?useSSL=false";

        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL)
                .setUrl(dbUrl)
                .setUsername("root")
                .setPassword("rootroot")
                .setDriverName("com.mysql.jdbc.Driver");

        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setCapitalMode(true) // 是否大写命名
                .setEntityLombokModel(true)
                .entityTableFieldAnnotationEnable(true) // 是否可以 @ableField 注解
                .setTablePrefix("t_")
                .setNaming(NamingStrategy.underline_to_camel) // 表名
                .setColumnNaming(NamingStrategy.underline_to_camel); // 字段名

        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(true)
                .setEnableCache(false)
                .setBaseColumnList(true)
                .setBaseResultMap(true)
                .setAuthor("yooma")
                // 这里就直接输出到项目里面,不用再复制进来
                .setOutputDir("eshop\\src\\main\\java")
                .setFileOverride(true)
                .setServiceName("%sService");

        new AutoGenerator().setGlobalConfig(config)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(
                        new PackageConfig()
                                .setParent("com.yooma.eshop")
                                .setController("controller")
                                .setEntity("model")
                ).execute();
    }
}

在 application.yml 里配置项目信息:

server:
  port: 8081

spring:
  datasource:
    # 使用druid数据源,替换DBCP和C3P0 。 druid可查看https://www.cnblogs.com/soundcode/p/6485375.html
    type: com.alibaba.druid.pool.DruidDataSource
    # 旧的版本需要使用 com.mysql.jdbc.Driver
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/eshop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&verifyServerCertificate=false&useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: rootroot

  jackson:
    # 全局jackson配置
    default-property-inclusion: non_null

# Logger Config
logging:
  config: classpath:logback.xml

mybatis-plus:
  # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml
  # 如果是放在resource目录 classpath:/mapper/*Mapper.xml
  mapper-locations: classpath:/mapper/*Mapper.xml
  # 实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.yooma.eshop.model
  global-config:
    # 主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 0

对日志的配置:

在 applicaiton.yml 里加上:

# Logger Config
logging:
  config: classpath:logback.xml

然后创建 logback.xml 文件,可以打印出来 mybatis 执行的sql语句等:











    
    
    
    

    
    
        
        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n
        
    


    
    
    
        
        
            ERROR
            ACCEPT
            DENY
        
        
        
            
            ${log_dir}/%d{yyyy-MM-dd}/error-log.log
            
            ${maxHistory}
        

        
        

        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
        
        
            WARN
            ACCEPT
            DENY
        
        
            
            ${log_dir}/%d{yyyy-MM-dd}/warn-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
        
        
            INFO
            ACCEPT
            DENY
        
        
            
            ${log_dir}/%d{yyyy-MM-dd}/info-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
        
        
            DEBUG
            ACCEPT
            DENY
        
        
            
            ${log_dir}/%d{yyyy-MM-dd}/debug-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
        
        
            TRACE
            ACCEPT
            DENY
        
        
            
            ${log_dir}/%d{yyyy-MM-dd}/trace-log.log
            
            
            ${maxHistory}
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
    
    
    
    
    
    
        
    

    
    
        
        
        
        
        
        
        
        
    

你可能感兴趣的:(spring boot 集成 mybatis plus)