本文共 3575 字,大约阅读时间需要 11 分钟。
掌握数据库配置和代码生成器设置是开发工作中的关键环节。本文将详细介绍MySQL数据库配置以及MyBatis Plus代码生成器的核心设置,帮助开发人员快速上手。
代码生成的路径是开发过程中常用到的重要功能。通过配置生成路径,你可以指定生成文件的存储位置。本项目中,代码生成路径设置为:
gc.setOutputDir(path + "/src/main/java");
其中 path 动态获取当前项目路径,这样无论你在何种开发环境下运行,都能自动调整生成目录。这种方式保证了代码生成的灵活性和适用性。
数据库配置是连接和管理数据源的基础。在本项目中,我们采用MySQL数据库,具体配置如下:
DataSourceConfig dc = new DataSourceConfig();dc.setUrl("jdbc:mysql://127.0.0.1:3306/02-tingyu?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai");dc.setDriverName("com.mysql.jdbc.Driver");dc.setUsername("root");dc.setPassword("123456"); 这些配置项涵盖了数据库的连接信息和版本参数,每项参数都需谨慎填写,确保与你的数据库环境一致。此外,注专门的注释可以帮助你快速定位和修改。
包结构的配置关系到代码生成的命名空间和组织方式。在本项目中,包结构设置为:
PackageConfig pc = new PackageConfig();pc.setParent("com.huletian") .setMapper("mapper") .setService("service") .setController("controller") .setEntity("pojo") .setXml("mapper"); 这种配置方式清晰地定义了代码生成的命名空间,确保每类文件生成到正确的包下,避免命名冲突和分类错误。
选择合适的实体类生成格式可以提高代码质量和效率。本项目默认采用Lombok格式,并通过以下配置:
StrategyConfig sc = new StrategyConfig();sc.setEntityLombokModel(true); // 选择Lombok格式sc.setNaming(NamingStrategy.underline_to_camel); // 数据库命名转换策略sc.setTablePrefix("t_"); // 表命名前置 这种设置能将数据库中的表名自动转换为符合Java命名规范的类名,同时减少重复代码。
在代码生成器中,除了上述设置,你还需要指定需要处理的数据库表。这些表悉由以下配置控制:
sc.setInclude( "t_admin", "t_admin_role", "t_company", "t_host", "t_host_power", "t_married_person", "t_menu", "t_order", "t_planner", "t_role", "t_role_menu");
这一步骤能确保代码生成器只针对相关表进行处理,规避不必要的干扰。
为了实现跨环境的代码生成,项目路径的动态获取至关重要。以下代码实现这一特性:
GlobalConfig gc = new GlobalConfig();String path = System.getProperty("user.dir");gc.setFileOverride(false);gc.setActiveRecord(true);gc.setEnableCache(false); // ... 其他配置gc.setOutputDir(path + "/src/main/java"); 这个动态获取机制让你的代码生成更加灵活,无论你在何种开发环境下运行,都能顺利生成代码。
将以上配置聚合到一个完整的代码示例中,确保每个配置项都能顺利运行:
public class CodeGeneratorConfig { // 创建代码生成器对象 AutoGenerator auto = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String path = System.getProperty("user.dir"); System.out.println(path); gc.setFileOverride(false); gc.setActiveRecord(true); gc.setEnableCache(false); gc.setBaseResultMap(true); gc.setBaseColumnList(true); gc.setOutputDir(path + "/src/main/java"); // 数据库配置 DataSourceConfig dc = new DataSourceConfig(); dc.setUrl("jdbc:mysql://127.0.0.1:3306/02-tingyu?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"); dc.setDriverName("com.mysql.jdbc.Driver"); dc.setUsername("root"); dc.setPassword("123456"); // 包结构配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.huletian") .setMapper("mapper") .setService("service") .setController("controller") .setEntity("pojo") .setXml("mapper"); // 代码生成策略 StrategyConfig sc = new StrategyConfig(); sc.setCapitalMode(true) .setEntityLombokModel(true) .setNaming(NamingStrategy.underline_to_camel) .setTablePrefix("t_") .setInclude("t_admin", "t_admin_role", "t_company", "t_host", "t_host_power", "t_married_person", "t_menu", "t_order", "t_planner", "t_role", "t_role_menu"); // 将各配置注入到代码生成器对象中 auto.setGlobalConfig(gc); auto.setDataSource(dc); auto.setPackageInfo(pc); auto.setStrategy(sc); // 执行代码生成 auto.execute(); System.out.println("代码生成成功");} 将上述代码粘贴到你的测试类中即可运行(注意确保MyBatis-Plus相关依赖已添加到项目依赖中)。代码将根据你提供的配置 automatedly 生成所需的POJO、Mapper接口与服务类。
以上配置方案既简洁清晰,又兼顾了实用性和扩展性,希望对你的数据库开发有所帮助!
转载地址:http://rktpz.baihongyu.com/