mybatisplus代码生成器
1、比较MP 的代码生成器 和 Mybatis MBG 代码生成器:
MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成
MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件
MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.
2、表及字段命名策略选择
在 MP 中,我们建议数据库表名 和 表字段名采用驼峰命名方式, 如果采用下划 线命名方式 请开启全局下划线开关,如果表名字段名命名方式不一致请注解指定,我 们建议最好保持一致。
3、如何使用代码生成器
1)加入依赖信息
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
2)生成器代码
@Test
public void testGenerater(){
//1、全局策略配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true)
.setAuthor("houchen")
.setOutputDir("D:\\myworkspace\\mybatis-plus\\mp03\\src\\main\\java")
.setFileOverride(true) //多次生成是否文件覆盖
.setIdType(IdType.AUTO)
.setServiceName("%sService") //设置生成的service接口的名字的首字母是否为I
.setBaseResultMap(true)
.setBaseColumnList(true); //生成基本的sql片段
//2、数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL)
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mybatis")
.setUsername("root")
.setPassword("houchen");
//3、策略配置
StrategyConfig sconfig = new StrategyConfig();
sconfig.setCapitalMode(true) //开启全局大写命名
.setDbColumnUnderline(true) //指定表名 字段名是否设置下划线
.setNaming(NamingStrategy.underline_to_camel) //下划线转驼峰
.setTablePrefix("tbl_") //设置表名前缀
.setInclude("tbl_employee"); //生成使用的表
//4、包名配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.atguigu.mp")
.setController("controller")
.setService("service")
.setMapper("mapper")
.setEntity("beans")
.setXml("mapper"); // sql 映射文件
//5、整合所有的配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(config);
autoGenerator.setDataSource(dsConfig);
autoGenerator.setStrategy(sconfig);
autoGenerator.setPackageInfo(packageConfig);
//6、执行
autoGenerator.execute();
}
分类:
|--- MybatisPlus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?