- 首先,在项目的 pom.xml 文件中添加如下依赖:
| <dependency> |
| <groupId>com.baomidou</groupId> |
| <artifactId>mybatis-plus-generator</artifactId> |
| <version>3.4.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>1.18.20</version> |
| </dependency> |
| <dependency> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| <version>8.0.25</version> |
| </dependency> |
- 然后,创建一个代码生成器类,例如:
| import com.baomidou.mybatisplus.annotation.DbType; |
| import com.baomidou.mybatisplus.generator.AutoGenerator; |
| import com.baomidou.mybatisplus.generator.config.DataSourceConfig; |
| import com.baomidou.mybatisplus.generator.config.GlobalConfig; |
| import com.baomidou.mybatisplus.generator.config.PackageConfig; |
| import com.baomidou.mybatisplus.generator.config.StrategyConfig; |
| import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; |
| |
| public class CodeGenerator { |
| |
| public static void main(String[] args) { |
| |
| |
| GlobalConfig globalConfig = new GlobalConfig(); |
| globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java") |
| .setFileOverride(true) |
| .setActiveRecord(true) |
| .setEnableCache(false) |
| .setBaseResultMap(true) |
| .setBaseColumnList(true) |
| .setAuthor("Your Name") |
| .setSwagger2(true) |
| .setServiceName("%sService"); |
| |
| |
| DataSourceConfig dataSourceConfig = new DataSourceConfig(); |
| dataSourceConfig.setDbType(DbType.MYSQL) |
| .setUrl("jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai") |
| .setUsername("root") |
| .setPassword("123456") |
| .setDriverName("com.mysql.cj.jdbc.Driver"); |
| |
| |
| StrategyConfig strategyConfig = new StrategyConfig(); |
| strategyConfig.setCapitalMode(true) |
| .setNaming(NamingStrategy.underline_to_camel) |
| .setInclude("table_name_1", "table_name_2") |
| .setEntityLombokModel(true); |
| |
| |
| PackageConfig packageConfig = new PackageConfig(); |
| packageConfig.setParent("com.example.demo") |
| .setMapper("mapper") |
| .setService("service") |
| .setServiceImpl("service.impl") |
| .setController("controller") |
| .setEntity("entity"); |
| |
| |
| AutoGenerator autoGenerator = new AutoGenerator(); |
| autoGenerator.setGlobalConfig(globalConfig) |
| .setDataSource(dataSourceConfig) |
| .setStrategy(strategyConfig) |
| .setPackageInfo(packageConfig); |
| autoGenerator.execute(); |
| |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构