Springboot整合MybatisPlus的实现过程解析

网友投稿 260 2022-12-24


Springboot整合MybatisPlus的实现过程解析

这篇文章主要介绍了Springboot整合MybatisPlus的实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、pom文件

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.cun

plus

0.0.1-SNAPSHOT

jar

plus

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

1.5.14.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

com.baomidou

mybatis-plus-boot-starter

2.3

org.freemarker

freemarker

2.3.28

com.alibaba

druid-spring-boot-starter

1.1.10

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.cun

plus

0.0.1-SNAPSHOT

jar

plus

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

1.5.14.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

com.baomidou

mybatis-plus-boot-starter

2.3

org.freemarker

freemarker

2.3.28

com.alibaba

druid-spring-boot-starter

1.1.10

org.springframework.boot

spring-boot-maven-plugin

2、创建CodeGenerator.java

package com.cun.plus;

import com.baomidou.mybatisplus.enums.IdType;

import com.baomidou.mybatisplus.generator.AutoGenerator;

import com.baomidou.mybatisplus.generator.config.DataSourceConfig;

import com.baomidou.mybatisplus.generator.config.GlobalConfig;

import com.baomidou.mybatisplus.generator.config.PackageConfig;

import com.baomidou.mybatisplus.generator.config.StrategyConfig;

import com.baomidou.mybatisplus.generator.config.rules.DbType;

import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

public class CodeGenerator {

public static void main(String[] args) {

//1. 全局配置

GlobalConfig config = new GlobalConfig();

config.setActiveRecord(false) // 是否支持AR模式

.setOutputDir(".\\src\\main\\java") // 生成路径

.setFileOverride(true) // 文件覆盖

.setIdType(IdType.AUTO) // 主键策略

.setServiceName("I%sService") // 设置生成的service接口的名字的首字母是否为I

// IUserService

.setBaseResultMap(true)

.setBaseColumnList(true);

//2. 数据源配置

DataSourceConfig dsConfig = new DataSourceConfig();

dsConfig.setDbType(DbType.MYSQL) // 设置数据库类型

.setDriverName("com.mysql.jdbc.Driver")

.setUrl("jdbc:mysql://localhost:3306/mydatab?useSSL=true&verifyServerCertificate=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8")

.setUsername("root")

.setPassword("lqq74561");

//3. 策略配置

//配置要生成的表的表名

String[] tableName = {"system_power_type","system_admin","company","power_api","power_action","power_action_api","power_action_group","power_admin_group","power_group"};

StrategyConfig stConfig = new StrategyConfig();

stConfig.setCapitalMode(true) //全局大写命名

.setDbColumnUnderline(true) // 指定表名 字段名是否使用下划线

.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略

.setTablePrefix("tb_")

.setInclude(tableName); // 生成的表

//4. 包名策略配置

PackageConfig pkConfig = new Phttp://ackageConfig();

pkConfig.setParent("com.cun.plus")

.setMapper("mapper")

.setService("service")

.setController("controller")

.setEntity("entity")

.setXml("mapper");

//5. 整合配置

AutoGenerator ag = new AutoGenerator();

ag.setGlobalConfig(config)

.setDataSource(dsConfig)

.setStrategy(stConfig)

.setPackageInfo(pkConfig);

//6. 执行

ag.setTemplateEngine(new FreemarkerTemplateEngine());

ag.execute();

}

}

3、在application.yml中配置mybatis-plus

#mybatis-plus

mybatis-plus:

#xml

mapper-locations: classpath:/mapper/*Mapper.xml

#bean

typeAliasesPackage: com.cun.plus.entity

global-config:

# 3:"UUID";

id-type: 3

field-strategy: 2

db-column-underline: true

key-generator: com.baomidou.mybatisplus.incrementer.OracleKeyGenerator

logic-delete-value: 1

logic-not-delete-value: 0

sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector

configuration:

map-underscore-to-camel-case: true

cache-enabled: false

#JdbcTypeForNull

jdbc-type-for-null: 'null'

4、创建MybatisPlusConfig.java文件

package com.cun.plus.conf;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.context.annotation.Configuration;

@Configuration

@MapperScan("com.cun.plus.mapper")

public class MybatisPlusConfig {

}

其他

Wrapper:MP内置条件封装器。

Sql分析器:(MybatisPlusConfig.java中)

/**

* SQL执行效率插件

*/

@Bean

@Profile({"dev","test"})// 设置 dev test 环境开启

public PerformanceInterceptor performanceInterceptor() {

return new PerformanceInterceptor();

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring boot加入拦截器Interceptor过程解析
下一篇:springboot接入cachecloud redis示例实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~