首页 > 其他分享 >Mybatis-Plus代码生成器的使用

Mybatis-Plus代码生成器的使用

时间:2023-08-03 18:14:26浏览次数:37  
标签:代码生成 generator strategyConfig Plus 设置 Mybatis baomidou globalConfig com

通常我们在做项目的时候,要手动搭建项目的结构,如controller,service,mapper,entity,是不是很麻烦,特别是数据库表特别多时,现在介绍一下使用MybatisPlus时怎么自动生成这些代码。

  1. 首先要在项目的pom.xml里引入必要的依赖,如下:
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<!--代码生成器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>
<!--velocity模板引擎-->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.3</version>
</dependency>

  1. 新建一个代码生成器类如下:
package com.example;

import com.baomidou.mybatisplus.annotation.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;

public class CodeGenerator {
    public static void main(String[] args) {
        //1.获取代码生成器的对象
        AutoGenerator autoGenerator = new AutoGenerator();

        //设置数据库相关配置
        DataSourceConfig dataSource = new DataSourceConfig();
        dataSource.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/db?serverTimezone=UTC");
        dataSource.setUsername("root");
        dataSource.setPassword("******");
        autoGenerator.setDataSource(dataSource);

        //设置全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir("D:\\codes\\java\\demo\\spring\\projectname\\src\\main\\java");    //设置代码生成位置
        globalConfig.setOpen(false);    //设置生成完毕后是否打开生成代码所在的目录
        globalConfig.setAuthor("minqilaing");    //设置作者
        globalConfig.setFileOverride(true);     //设置是否覆盖原始生成的文件
        globalConfig.setMapperName("%sMapper");    //设置数据层接口名,%s为占位符,指代模块名称
        globalConfig.setIdType(IdType.ASSIGN_ID);   //设置Id生成策略
        autoGenerator.setGlobalConfig(globalConfig);

        //设置包名相关配置
        PackageConfig packageInfo = new PackageConfig();
        packageInfo.setParent("com.aaa");   //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径
        packageInfo.setEntity("entity");    //设置实体类包名
        packageInfo.setMapper("mapper");   //设置数据层包名
        autoGenerator.setPackageInfo(packageInfo);

        //策略设置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("book");  //设置当前参与生成的表名,参数为可变参数
//        strategyConfig.setTablePrefix("tbl_");  //设置数据库表的前缀名称,模块名 = 数据库表名 - 前缀名  例如: User = tbl_user - tbl_
        strategyConfig.setRestControllerStyle(true);    //设置是否启用Rest风格
        strategyConfig.setVersionFieldName("version");  //设置乐观锁字段名
        strategyConfig.setLogicDeleteFieldName("deleted");  //设置逻辑删除字段名
        strategyConfig.setEntityLombokModel(true);  //设置是否启用lombok
        autoGenerator.setStrategy(strategyConfig);
        //2.执行生成操作
        autoGenerator.execute();
    }
}
  1. 执行如上代码就会生成了,示例如下:

pPiz1J0.png

标签:代码生成,generator,strategyConfig,Plus,设置,Mybatis,baomidou,globalConfig,com
From: https://www.cnblogs.com/minqiliang/p/17604071.html

相关文章

  • java mybatis一级缓存二级缓存三级缓存详解
    在MyBatis中,存在一级缓存、二级缓存和三级缓存的概念。下面我将为你详细解释这些缓存的含义和作用:一级缓存:一级缓存是MyBatis默认开启的缓存机制,它是指在同一个SqlSession对象中,执行相同的SQL语句时,会将查询结果缓存到内存中。一级缓存的作用范围仅限于当前的SqlSession,当......
  • MyBatisPlus使用记录
    常用简单增删查改增:xxMapper.insert(xxDO)删:xxMapper.delete(new QueryWrapper<xx>().eq("xxx",xxx)...)查:注意在主键上加注解表明主键@TableId(“commodity_id”)xxMapper.selectById("xx")xxMapper.selectOne(new QueryWrapper<xx>())//查询单个结果,返回JOBOxx......
  • Mybatis Log 插件
    目前的idea插件已经开始收费---找了一个免费的插件安装到idea中重启一下就可以了百度网盘提取码:sjc8......
  • MyBatis批量插入,分批次批量插入
    /***分批次批量插入*@throwsIOException*/@TestpublicvoidtestBatchInsertUser()throwsIOException{InputStreamresourceAsStream=Resources.getResourceAsStream("sqlMapConfig.xml");SqlSessionFactorysqlSessionFactory=newSqlSe......
  • 喜讯! WorkPlus入选中国信通院数字产品“2023全景图”!
    “2023数字生态发展大会”暨中国信通院“铸基计划”WorkPlus喜讯7月27日,中国信息通信研究院(下称“中国信通院”)主办的“2023数字生态发展大会”暨中国信通院“铸基计划”年中会议在京召开,大会全面地总结了“铸基计划”上半年度工作成果,帮助行业解析数字化转型发展趋势,以期推动我国......
  • mybatisplus 查询结果排除某字段实现
    数据有Test表,表里有id,name,ip_address,last_time四个字段通常查询写法,返回结果会把id,name,ip_address,last_time四个字段都返回publicListselectList(Testtest){Listlist=testMapper.selectList(newQueryWrapper<>(test))returnlist;}现在想排......
  • 【vue】vue3+ts+element-plus制作的vueCms后台管理系统(开源)
    我的开源项目地址:vueCms_xg......
  • Java编程-目录整理、新建接口、集成mybatis plus以及数据库初始化
    数据库初始化新建对应调试库```#dockerps#dockerexec-it6d542566d077/bin/bashpostgres=#createdatabasenovel;```执行全量脚本......
  • vite+vue3+ts+elementPlus前端框架搭建 [一]
    记录下搭建vite+vue3+ts+elementPlus项目的过程及遇到的问题。建议使用pnpm安装依赖,npm切换到pnpm链接地址:[https://www.pnpm.cn/installation]() 1.运行环境node-vv18.17.0npm-v9.8.12.使用pnpm创建vite项目及安装依赖npminitvite-apppnpmcreate......
  • el-date-picker element Plus 实现限制时间选择范围(7天)
    elementPlus没有picker-options配置项,可以使用:disabled-date="disabledDate"@calendar-Change="calendarChange"配合实现该需求<el-date-pickerv-model="date"type="datetimerange"range-separator=&quo......