最近使用mybatis-plus-generator3.5.1生成后端代码,发现用法和旧版本有很大不一样,折腾了很久才摸索出来,代码如下所示:

public class CodeGenerator {private String moudleName="house_resources";//模块名private String tableName="tb_house_resources";//表名@Testpublic void generate(){FastAutoGenerator.create("jdbc:mysql://localhost:3306/haoke?serverTimezone=Asia/Shanghai", "root", "123456").globalConfig(builder -> {builder.author("heyu") // 设置作者//.enableSwagger() // 开启 swagger 模式.fileOverride() // 覆盖已生成文件.outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录}).packageConfig(builder -> {builder.parent("cn.itcast.haoke.dubbo.server") // 设置父包名.moduleName(moudleName) // 设置父包模块名.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/src/main/resources/mapper")); // 设置mapperXml生成路径}).strategyConfig(builder -> {builder.addInclude(tableName) // 设置需要生成的表名.addTablePrefix("tb_") // 设置过滤表前缀.entityBuilder().enableLombok().superClass("cn.itcast.haoke.dubbo.server.pojo.BasePojo").idType(IdType.AUTO).enableChainModel().controllerBuilder().enableRestStyle().enableHyphenStyle();}).templateConfig(builder -> {builder.mapperXml("/templates/mapper.xml");}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板.execute();}
}

上述配置使用了freemarker模板引擎,所以还需要额外引入freemarker的依赖

<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version>
</dependency>

只有通过单元测试来运行这段代码才能在当前模块下生成项目文件。通过主函数来运行会将项目文件生成到根模块下。
然而单元测试又不能在控制台输入文字,因此将模块名和表名定义在属性里面以便于修改。

mybatis-plus-generator3.5.1的用法相关推荐

  1. mybatis的association以及collection的用法

    在项目中,某些实体类之间肯定有关键关系,比如一对一,一对多等.mybatis 中就用association和collection. association: 一对一关联(has one) collec ...

  2. mysql resultmap_MySQL数据库:mybatis的resultType和resultMap基础用法

    在MySQL数据库中,resultType和resultMap都是用于返回多行查询.二者不能一起用.区别在于后者能解决复杂查询时定的映射问题(比如有两个表相关联,此时就要用resultMap了),希望 ...

  3. MyBatis(2):MyBatis标签以及对应的属性用法讲解

    通过上一章的讲解,大家应该对MyByatis的基本用法有了一定的了解.这一章主要是讲一下MyBatis的各种标签以及对应的属性,它们的用法以及用的时候应该注意一些什么!下面的讲解时结合当前主流框架(S ...

  4. MyBatis选择Choose和条件IF用法

    choose用法 <choose><when test="showType == 1">IFNULL(k.fname,'未知') as pro_name,& ...

  5. Mybatis中的 ${} 和 #{}区别与用法

    Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${} 我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方 ...

  6. Mybatis 一对多关联查询collection用法

    使用resultMap, select 标签, resultMap的中的collection表示一对多,column对应select标签中的sql里的字段或者别名,当两个表字段名称有相同的情况下,可以 ...

  7. mybatis中prefix,suffix,prefixOverrides,suffixOverrides用法解释

    <trim prefix="" suffix="" suffixOverrides="" prefixOverrides=" ...

  8. mybatis里的when和otherwise用法

    在where条件语句中进行判断,当type == x1 时和type == x2时where中的判断条件不同 解决 <select id = "" resultMap = & ...

  9. Mybatis中foreach的三种用法

    foreach一共有List,array,Map三种类型的使用场景. foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. item表示集合中每一个元素进行迭代时的别名, i ...

  10. Mybatis中<trim>标签用法

    trim标签的属性: prefix: 拼接sql需要加上的前缀. prefixOverrides:前缀需要覆盖消除的内容. suffix:拼接sql需要加上的后缀 suffixOverrides:后缀 ...

最新文章

  1. QIIME 2用户文档. 22Python命令行模式(2019.7)
  2. 在IIS(64位)上部署WCF服务访问Oracle数据库
  3. (chap6 Http首部) 响应首部字段 LocationProxy-AuthenticateRetry-After
  4. mysql半同步复制
  5. 超详细Ubuntu Linux安装配置 Tomcat
  6. [POI2015]CZA
  7. 第十六节: EF的CodeFirst模式通过Fluent API修改默认协定
  8. linux中的权限对于文件和目录的重要性
  9. Android对话框的高级设置《二》设置对话框按钮的透明度和对话框的在屏幕上的显示位置
  10. SecureCrt 利用公匙登录L机取消密码登录。
  11. 37. Element appendChild() 方法
  12. oracle聚合字符串,Oracle 聚合字符串
  13. 如何让Java文件在虚拟机中运行_深入理解JVM--Java程序如何在虚拟机中运行
  14. fastdfs返回的url_FastDFS上传文件Demospringboot实现
  15. [UESTC SC T1] 最大疯子树
  16. 华罗庚数学竞赛如何报名?
  17. jquery 实现考试倒计时
  18. MFC通讯录入门必看
  19. 蜂窝移动的架构 以及省电的方法
  20. Win10照片应用的小bug——自动模糊图片(有过渡色)

热门文章

  1. DM DISQL使用
  2. 前序遍历的非递归算法
  3. 制作视频画中画 教你使用剪辑视频的软件同时制作多个视频
  4. linux服务精简优化解析,CentOS系统环境精简优化详解
  5. The organization of memory
  6. php导出成word试卷,依据word模板批量生成试卷
  7. 优矩互动开启招股:拟募资8.8亿,字节跳动及小米参与认购
  8. 类变量、成员变量、局部变量介绍说明
  9. 来自老程序员的10条中肯建议
  10. 角度制与弧度制的相互转换np.deg2radnp.rad2deg