温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Springboot整合MybatisPlus的实现过程

发布时间:2021-09-15 15:28:27 来源:亿速云 阅读:143 作者:chen 栏目:编程语言

这篇文章主要介绍“Springboot整合MybatisPlus的实现过程”,在日常操作中,相信很多人在Springboot整合MybatisPlus的实现过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Springboot整合MybatisPlus的实现过程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、pom文件

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.cun</groupId>  <artifactId>plus</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>jar</packaging>  <name>plus</name>  <description>Demo project for Spring Boot</description>  <parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>1.5.14.RELEASE</version>    <relativePath/> <!-- lookup parent from repository -->  </parent>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>    <java.version>1.8</java.version>  </properties>  <dependencies>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <scope>runtime</scope>    </dependency>    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-test</artifactId>      <scope>test</scope>    </dependency>    <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-boot-starter</artifactId>      <version>2.3</version>    </dependency>    <!-- 代码生成器默认使用如下模版引擎 --><!--    <dependency>      <groupId>org.apache.velocity</groupId>      <artifactId>velocity-engine-core</artifactId>      <version>2.0</version>    </dependency>-->    <!-- freemarker 模板引擎 -->    <dependency>      <groupId>org.freemarker</groupId>      <artifactId>freemarker</artifactId>      <version>2.3.28</version>    </dependency>    <!--Druid-->    <dependency>      <groupId>com.alibaba</groupId>      <artifactId>druid-spring-boot-starter</artifactId>      <version>1.1.10</version>    </dependency>  </dependencies>  <build>    <plugins>      <plugin>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-maven-plugin</artifactId>      </plugin>    </plugins>  </build></project>

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模式        .setAuthor("len") // 作者        .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 PackageConfig();    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-plusmybatis-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();}

到此,关于“Springboot整合MybatisPlus的实现过程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI