博客
关于我
MyBatisPlus根据数据库自动生成后台包及代码逻辑
阅读量:565 次
发布时间:2019-03-09

本文共 3575 字,大约阅读时间需要 11 分钟。

MySQL数据库配置与MyBatis Plus代码生成器设置说明

掌握数据库配置和代码生成器设置是开发工作中的关键环节。本文将详细介绍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/

你可能感兴趣的文章
nodejs配置express服务器,运行自动打开浏览器
查看>>
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>
node~ http缓存
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中同步与异步的方式读取文件
查看>>
node中的get请求和post请求的不同操作【node学习第五篇】
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>
node全局对象 文件系统
查看>>
Node出错导致运行崩溃的解决方案
查看>>
Node响应中文时解决乱码问题
查看>>
node基础(二)_模块以及处理乱码问题
查看>>
node安装卸载linux,Linux运维知识之linux 卸载安装node npm
查看>>
node安装及配置之windows版
查看>>
Node实现小爬虫
查看>>
Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
查看>>