MyBatis-Plus核心使用总结
1 结构目录
2 重点类及其使用
3 基于数据库的自动代码生成器
1 /** 2 * @author 陈龙 3 * @date 2021-01-06 18:01 4 */ 5 public class CodeGenerator { 6 @Test 7 public void run() { 8 // 1、创建代码生成器 9 AutoGenerator mpg = new AutoGenerator(); 10 // 2、全局配置 11 GlobalConfig gc = new GlobalConfig(); 12 String projectPath = System.getProperty("user.dir"); 13 //有的电脑系统,如果代码发现生成有问题,projectPath直接写成项目名称 14 //gc.setOutputDir("edu_eduservice" + "/src/main/java"); 15 gc.setOutputDir(projectPath + "/src/main/java"); 16 gc.setAuthor("陈龙"); 17 gc.setOpen(false); //生成后是否打开资源管理器 18 19 gc.setFileOverride(true); //重新生成时文件是否覆盖 20 //IUserServcie 21 gc.setServiceName("%sService"); //去掉Service接口的首字母I 22 gc.setIdType(IdType.ID_WORKER_STR); //主键策略 23 gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型 24 gc.setSwagger2(true);//开启Swagger2模式 25 mpg.setGlobalConfig(gc); 26 // 3、数据源配置 27 DataSourceConfig dsc = new DataSourceConfig(); 28 dsc.setUrl("jdbc:mysql://localhost:3306/cloud"); 29 dsc.setDriverName("com.mysql.cj.jdbc.Driver"); 30 dsc.setUsername("root"); 31 dsc.setPassword("chenlong"); 32 dsc.setDbType(DbType.MYSQL); 33 mpg.setDataSource(dsc); 34 35 // 4、包配置 36 PackageConfig pc = new PackageConfig(); 37 pc.setModuleName("cloud"); //模块名 38 pc.setParent("com.neu"); 39 pc.setController("controller"); 40 pc.setEntity("entity"); 41 pc.setService("service"); 42 pc.setMapper("mapper"); 43 mpg.setPackageInfo(pc); 44 // 5、策略配置 45 StrategyConfig strategy = new StrategyConfig(); 46 strategy.setInclude("表名");//表名称 47 strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 48 strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀 49 50 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 51 strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 52 strategy.setRestControllerStyle(true); //restful api风格控制器 53 strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符 54 mpg.setStrategy(strategy); 55 // 6、执行 56 mpg.execute(); 57 } 58 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通