首页 > 其他分享 >MyBatisPlus——代码生成器

MyBatisPlus——代码生成器

时间:2023-04-10 15:56:29浏览次数:40  
标签:代码生成 MyBatisPlus autoGenerator strategyConfig dataSource 设置 globalConfig

代码生成器

  • 快速生成各项代码

步骤

  • 创建Generator类,并创建main方法
  • 创建代码生成器
    AutoGenerator autoGenerator = new AutoGenerator();
  • 连接要生成实体类的数据库
        DataSourceConfig dataSource = new DataSourceConfig();
        dataSource.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC");
        dataSource.setUsername("root");
        dataSource.setPassword("1234");
        autoGenerator.setDataSource(dataSource);
  • 配置全局设置
        // 设置全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        // 设置生成的代码的输出目录
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/mybatisplus_04_generator/src/main/java");
        // 设置生成完毕后是否打开生成代码所在目录(默认为true)
        globalConfig.setOpen(false);
        // 设置作者
        globalConfig.setAuthor("程渝");
        // 设置是否覆盖原始代码(默认为false)
        globalConfig.setFileOverride(true);
        // 设置数据层接口名,%s为占位符,指代模块名称
        globalConfig.setMapperName("%sDao");
        // 设置id生成策略
        globalConfig.setIdType(IdType.ASSIGN_ID);
        autoGenerator.setGlobalConfig(globalConfig);
  • 配置包名相关设置
        // 设置包名相关配置
        PackageConfig packageConfig = new PackageConfig();
        // 设置生成的包名
        packageConfig.setParent("com.aaa");
        // 设置实体类包名
        packageConfig.setEntity("domain");
        // 设置数据层包名
        packageConfig.setMapper("dao");
        autoGenerator.setPackageInfo(packageConfig);
  • 配置策略设置
// 策略设置
        StrategyConfig strategyConfig = new StrategyConfig();
        // 设置当前参与生成的表名,参数为String...,可传入多个表名
        strategyConfig.setInclude("tbl_user");
        // 设置表名前缀,模块名=数据库表名-表名前缀
        strategyConfig.setTablePrefix("tbl_");
        // 设置是否启用Rest风格
        strategyConfig.setRestControllerStyle(true);
        // 设置乐观锁字段名
        strategyConfig.setVersionFieldName("version");
        // 设置逻辑删除字段名
        strategyConfig.setLogicDeleteFieldName("deleted");
        // 设置是否启用lombok
        strategyConfig.setEntityLombokModel(true);
        autoGenerator.setStrategy(strategyConfig);
  •  执行代码生成
        // 执行代码生成
        autoGenerator.execute();
  • 生成结果

  

标签:代码生成,MyBatisPlus,autoGenerator,strategyConfig,dataSource,设置,globalConfig
From: https://www.cnblogs.com/1873cy/p/17303164.html

相关文章

  • MyBatisPlus——DML编程控制——乐观锁
    乐观锁业务并发现象带来的问题:秒杀最后一单用于中小型项目(2000请求以下)添加一个数据库字段,使每次请求修改数据时,这个字段就加一,当有多人同时请求时,这些人同时获取到的都是相同的该字段,但当有一人完成了秒杀后字段加一,其他同时获取到的该字段就不匹配了配置步骤数据库表中......
  • MybatisPlus——DML编程控制——增删改
    DML编程控制id生成策略控制不同的表应用不同的id生成策略日志:自增(1,2,3,4,......)购物订单:特殊规则(FQ23948AK3843)外卖单:关联地区日期等信息(1004202003143491)关系表:可省略id......注解控制@TableId类型:属性注解位置:模型类中用于表示主键的属性定义上方作用:设置......
  • ShardingSphereJDBC+MybatisPlus实现分库分表
    前言这篇是ShardingSphere-JDBC+Springboot+MybatisPlus+Druid分库分表的简单例子,我们用一个订单表为例,通过简单配置实现数据分片到多个数据库的多个表中。主要配置和代码已经在文中给出,完整例子可以参考GitHub-fruitbasket-litchi-shardingjdbc。准备数据库在一个或两个My......
  • ChatGPT淘汰程序员?不可能的!看代码生成机器人如何让我更强
    AIGC让程序员失业?不存在的!聆思开发聊天助手Chaty让你更高效地开发CSK芯片代码、更自在地摸鱼!当遇上十万火急,产品提完需求马上要怎么办?且看Chaty如何破局以往流程:Chaty加持:Chaty是什么是为聆思CSK芯片量身打造的开发助手系列,可根据开发者的需求进行代码生成、问题定位、辅助开发等......
  • c# .net 静态织入 代码生成 Source Generators
    必须创建netstandard项目【ClassLibrary1】来存放代码生成接口[Generator]publicclassDemoSourceGenerator:ISourceGenerator{publicvoidExecute(GeneratorExecutionContextcontext){//Findthemainmethodv......
  • MyBatisPlus——条件查询——null值处理与查询投影
    DQL编程控制条件查询——设置查询条件格式一:常规格式 //方式一:按条件查询 QueryWrapperqw=newQueryWrapper(); //10岁到30岁之间的用户 qw.gt("age",10); qw.lt("age",30); List<User>users=userDao.selectList(qw); System.out.println(users);格式......
  • MyBatisPlus---delete删除操作的三种方法
    一、根据id删除1234567891011@Testpublic void deleteById(){    int rows=userMapper.deleteById(1351456313578713090L);    System.out.println("删除条数:" +rows);} @Testpublic void deleteByBatchIds(){    int row......
  • 使用 MybatisPlusCore 自带的雪花算法生成不重复数字
    这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库MybatisPlusCore自带的方法来使用雪花算法。雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用uuid作为主键,但是其占用16个......
  • MyBatisPlus快速上手
    ORM介绍ORM(ObjectRelationalMapping,对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。ORM通过使用描述对象和数据库之间映射的元数据将程......
  • MyBatisPlus中全局Sql注入器应用_逻辑删除使用
    什么是逻辑删除假删除、逻辑删除,并不会真正的从数据库中将数据删除掉,而是将当前被删除的这条数据的一个逻辑字段置为删除状态。实现全局配置注入LogicSqlInjector打开项目的......