MybatisPlus代码生成器 ---> 让你从此事半功倍
创建一个空的Springboot项目
导入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入MyBatis-Plus的依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!--代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!--模板引擎依赖-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
编写一个代码生成器工具类
- 里面的相关配置自行修改
public class CodeTest {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis_plus", "root", "root")
// 全局配置
.globalConfig(builder -> {
builder.outputDir(System.getProperty("user.dir") + "/src/main/java")//设置输出目录
// 设置作者
.author("QiJingJing")
// 设置不打开输出目录
.disableOpenDir()
// 配置日期类型
.commentDate("yyyy-MM-dd")
// 配置日期类型
.dateType(DateType.ONLY_DATE);
// 可以配置swagger .enableSwagger()
})
// 包配置
.packageConfig(builder -> {
builder.moduleName("generator")// 设置包名
// 设置在哪个包下
.parent("com.lili")
// 实体类的名字
.entity("entity")
// mapper层的名字
.mapper("mapper")
// service层的名字
.service("service")
//controller层的名字
.controller("controller")
// 添加mapper.xml生成路径
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir")+"/src/main/resources/mapper"));
})
// 策略配置
.strategyConfig(builder -> {
builder.addInclude("user")// 映射的表名
// 添加过滤表前后缀
// .addTablePrefix("填写表前缀")
// .addTableSuffix("填写表后缀")
// entity 策略配置
.entityBuilder().enableLombok() // 开启lombok
// 表名下划线转驼峰
.naming(NamingStrategy.underline_to_camel)
// 字段名下划线转驼峰
.columnNaming(NamingStrategy.underline_to_camel)
// 全局主键类型
.idType(IdType.AUTO)
// 配置逻辑删除字段名
//.logicDeleteColumnName("逻辑删除字段名")
//.logicDeletePropertyName("逻辑删除属性名")
// 配置乐观锁
//.versionColumnName("乐观锁字段名")
//.versionPropertyName("乐观锁属性名")
//表字段补充
//.addTableFills(new Column("create_time", FieldFill.INSERT))
//.addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE))
// service层策略配置
.serviceBuilder()
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
// controller 策略配置
.controllerBuilder().enableHyphenStyle()// 开启下划线命名
// 开启生成@RestController
.enableRestStyle()
// mapper层策略配置
.mapperBuilder()
// 开启mapper层注解
.enableMapperAnnotation();
}).execute();
}
}
执行即可
来试一个简单的查询
1、yml进行配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
2、service接口增加一个查询所有的方法:
3、serviceImpl添加对应的实现
4、编写测试类进行测试
结果:
分类:
MyBatis-Plus
标签:
MybatisPlus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!