一、代码生成器 1、MP 提供了大量的自定义设置,生成的代码完全能够满足各类型的需求。
2、表及字段命名策略选择
在 MP 中,我们建议数据库表名 和 表字段采用驼峰命名方式,如果采用下划线命名方式,请开启全局下划线开关,如果表名字段方式不一致请注解指定,建议最好保持一致。
这么做的原因是为了避免在对应实体类时产生的性能损耗,这样字段不用做映射就能直接和实体类对应,当然如果项目里不用考虑这点性能损耗,那么你采用下划线也是没问题的,只需要在生成代码时配置 dbColumnUnderline 属性就可以。
3、MP 与 MBG 的简单对比
MyBatis 的代码生成器可生成:实体类,Mapper 接口,Mapper 映射文件
MP 的代码生成器可生成:实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、Service 层,Controller 层;
二、代码生成器依赖 (1)模板引擎
【MyBatisPlus 之 代码生成器】MP 的代码生成器默认使用的是 Apache 的 Velocity 模板,当然也可以更换为别的模板技术,例如 freemarker。此处不做过多介绍。
需要加入 Apache Velocity 的依赖。
org.apache.velocity
velocity-engine-core
2.0
(2)加入 slf4j,查看日志输出信息
org.slf4j
slf4j-api
1.7.7
org.slf4j
slf4j-log4j12
1.7.7
三、MP 代码生成器示例代码 实例代码:
/**
* 代码生成 示例代码
*/
@Test
public void test() {
//1. 全局配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true)//是否支持AR模式
.setAuthor("njf")//作者
.setOutputDir("F:\\My_Workspaceing\\project\\MyBatisPlus\\mp_05_MPG\\src\\main\\java")//生成路径
.setFileOverride(true)//文件覆盖
.setIdType(IdType.AUTO)//主键策略
.setServiceName("%sService")//设置生成的service接口的名字的首字母是否为I,如 IEmployeeService
.setBaseResultMap(true)
.setBaseColumnList(true);
//2. 数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL)//设置数据库类型
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mybatis_plus/")
.setUsername("root")
.setPassword("root");
//3. 策略配置
StrategyConfig stConfig = new StrategyConfig();
stConfig.setCapitalMode(true)//全局大写命名
.setDbColumnUnderline(true)//指定表名,字段名是否使用下划线
.setNaming(NamingStrategy.underline_to_camel) //数据库表映射到实体的命名策略
.setTablePrefix("tbl_")
.setInclude("tbl_employee");
//生成的表//4. 包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("com.njf.mp")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("beans")
.setXml("mapper");
//5. 整合配置
AutoGenerator ag = new AutoGenerator();
ag.setGlobalConfig(config);
ag.setDataSource(dsConfig);
ag.setStrategy(stConfig);
ag.setPackageInfo(pkConfig);
//6.执行
ag.execute();
}
上面的配置只是一些常用的配置信息,更完善的配置信息请参照官方文档。
文档地址:https://mp.baomidou.com/guide/generator.html
推荐阅读
- Java开发|Mybatisplus的代码生成器
- SpringBoot|SpringBoot整合Druid和Mybatis
- mysql|spring boot+mybatis-plus
- java|JAVA计算机毕业设计大学生网络创业就业管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
- java|解决错误(org.apache.ibatis.binding.BindingException)
- Java|Springboot配置Druid或Hikari连接池(并开启MyBatisPlus事务)
- 数据库|springboot项目整合druid数据库连接池
- Java|Mybatis 一级缓存和二级缓存的使用
- 数据库|mybatis