首页 > 数据库 >【数据库】mybatis生成java代码之AutoGenerator配置

【数据库】mybatis生成java代码之AutoGenerator配置

时间:2024-06-11 19:10:27浏览次数:19  
标签:AutoGenerator java String 配置 生成 MyBatis gc 设置 mybatis

哈喽,大家好,我是木头左,AI改变生活!

本文将详细解释 MyBatis 生成 Java 代码的过程,包括全局配置、数据源配置和策略配置。

1. 全局配置

首先,我们需要创建一个 GlobalConfig 对象,用于配置 MyBatis 的全局设置。以下是一些常用的全局配置选项:

  • setOutputDir(String outputDir):设置生成 Java 代码的输出目录。
  • setFileOverride(boolean fileOverride):设置是否覆盖已存在的同名文件。
  • setActiveRecord(boolean activeRecord):设置是否生成 ActiveRecord 特性。如果不需要 ActiveRecord 特性,请设置为 false。
  • setEnableCache(boolean enableCache):设置是否启用二级缓存。
  • setBaseResultMap(boolean baseResultMap):设置是否生成 XML ResultMap。
  • setBaseColumnList(boolean baseColumnList):设置是否生成 XML columList。
  • setAuthor("pengzuo"):设置作者信息。
  • setMapperName("%s"):设置 Mapper 接口的命名规则。
  • setServiceImplName("%sDaoImpl"):设置 Service 实现类的命名规则。
  • setServiceName("I%sDao"):设置 Service 接口的命名规则。
  • setEntityName("%sEntity"):设置 Entity 类的命名规则。
  • setControllerName("%sController"):设置 Controller 类的命名规则。
    接下来,我们将这些全局配置应用到 MyBatis Generator(MBG)中:
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(outPut + "java");
gc.setFileOverride(true);
gc.setActiveRecord(true);
gc.setEnableCache(false);
gc.setBaseResultMap(true);
gc.setBaseColumnList(false);
gc.setAuthor("mutouzuo");
gc.setMapperName("%s");
gc.setServiceImplName("%sDaoImpl");
gc.setServiceName("I%sDao");
gc.setEntityName("%sEntity");
gc.setControllerName("%sController");
mpg.setGlobalConfig(gc);

2. 数据源配置

数据源配置用于设置 MyBatis Generator 连接数据库的相关参数。以下是一些常用的数据源配置选项:

  • setDbType(DbType dbType):设置数据库类型,如 MySQL、PostgreSQL 等。
  • setDriverName(String driverName):设置数据库驱动类名。
  • setUsername(String username):设置数据库用户名。
  • setPassword(String password):设置数据库密码。
  • setUrl(String url):设置数据库连接 URL。
    接下来,我们将这些数据源配置应用到 MyBatis Generator(MBG)中:
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.POSTGRE_SQL);
dsc.setDriverName("org.postgresql.Driver");
dsc.setUsername(username);
dsc.setPassword(password);
dsc.setUrl(dbUrl);
mpg.setDataSource(dsc);

3. 策略配置

策略配置用于设置 MyBatis Generator 生成代码的策略,例如表名生成策略、字段常量生成策略等。以下是一些常用的策略配置选项:

  • setTablePrefix(String[] tablePrefix):设置需要生成代码的表的前缀。
  • setNaming(NamingStrategy naming):设置表名生成策略,如下划线转驼峰命名等。
  • setEntityColumnConstant(boolean entityColumnConstant):设置是否为实体类生成字段常量。
  • setEntityTableFieldAnnotationEnable(boolean entityTableFieldAnnotationEnable):设置是否为实体类生成字段注解。
  • setInclude(String[] include):设置需要生成代码的表名。
    接下来,我们将这些策略配置应用到 MyBatis Generator(MBG)中:
StrategyConfig strategy = new StrategyConfig();
strategy.setTablePrefix(new String[]{tablePrefix});
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setEntityColumnConstant(true);
strategy.setEntityTableFieldAnnotationEnable(true);
strategy.setInclude(new String[]{"tb_app"});
mpg.setStrategy(strategy);

至此,我们已经完成了 MyBatis Generator 的配置。接下来,我们可以运行 MyBatis Generator 命令来根据配置文件生成 Java 代码。

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

标签:AutoGenerator,java,String,配置,生成,MyBatis,gc,设置,mybatis
From: https://www.cnblogs.com/bigleft/p/18242585

相关文章

  • Java项目:208Springboot + vue实现的校园服务平台(含论文+开题报告)
    作者主页:夜未央5788 简介:Java领域优质创作者、Java项目、学习资料、技术互助文末获取源码项目介绍基于Springboot+vue实现的汽车服务管理系统本系统包含管理员、接单员、普通用户三个角色。管理员角色:管理员管理、基础数据管理、接单详情管理、接单员管理、公告信......
  • mybatis条件判断及动态sql的简单拓展
    在MyBatis中,可以通过使用一些特定的标签(、...)以及其他动态SQL功能来实现条件判断。这使得SQL查询可以根据不同的条件动态生成,从而提高查询的灵活性和可维护性。本文以订单列表简单查询为例,对mybatis条件判断及动态sql进行简单拓展。建表语句CREATETABLE`wwtms`.`order_t......
  • C# JavaScriptSerializer序列化时的时间处理详解
    原文链接:https://www.jb51.net/article/122143.htm输出如下图所示: 猜测这里是由于js初始化时间的时候往往是向1970/01/01添加毫秒数,JavaScriptSerializer进行序列化的时候也会格式化为距离1970/01/01到当该时间点GMT+0时间的毫秒数,如果直接反序列化可以看到少了8小时,且......
  • 1_JAVA线程
    Java线程1.创建和运行线程1.1直接使用Thread例如:publicclassThreadTest{publicstaticvoidmain(String[]args){Threadt=newThread(){publicvoidrun(){//要执行的任务System.out.println(Thr......
  • 【Java】输出填空 异常捕获
    classNoWaterextendsException{}classNoDrinkableWaterextendsNoWater{}publicclassFinallyWorks{staticintcount=0;publicstaticvoidmain(String[]args)throwsNoWater{while(true){try{count++;......
  • 【Java】7-1 职工排序题 分数 20
    1.为某保险公司设计一个职工管理系统,其中职工类的属性有:职工编号,姓名,性别,团体险业绩,个体险业绩;方法有:每个属性对应的set,get方法;不带参数的构造方法;带参数的构造方法,完成对职工属性的初始化;该类实现接口Comparable,完成对职工总业绩的比较。2.设计一个类,实现Comparator接口,......
  • Java环境配置及配置过程遇到的问题
    配置过程安装完jdk之后,找到jdk的安装目录首先配置JAVA_HOME新建一个系统变量,变量值为jdk的路径再配置pathpath中新建变量值内容为%JAVA_HOME%\bin原因:因为jdk目录下的bin文件夹中存放着java和javac等的exe文件配置完之后打开新的cmd窗口即可javajavac能够显示出用法即可......
  • 深入理解代码耦合度:从无直接耦合到内容耦合(JAVA案例)
    目录前言第一点:无直接耦合第二点:数据耦合第三点:标记耦合第四点:控制耦合第五点:外部耦合第六点:公共耦合第七点:内容耦合总结前言在软件开发中,代码的耦合度是一个非常重要的概念。理解不同类型的耦合度对于设计和维护高质量的代码至关重要。本文将介绍从无直接耦合到......
  • Java数据结构与算法(回溯算法)
    前言回溯算法是一种通过构建问题的解树(或解图)来逐步构建候选解的通用算法。它尝试通过一系列选择来解决问题,选择可能包括移动、添加一个元素到当前解、决定一个解的某部分等。当发现某个选择无法导致一个有效解时,算法会回退(即回溯),撤销该选择,并尝试其他选择。回溯算法通常用于......
  • JavaScript中什么是类,如何使用?
    在JavaScript中,类是一种用于创建对象的模板。它定义了对象的属性和方法,并可以通过实例化来创建具体的对象。类提供了一种结构化的方式来组织和管理代码,使得代码更易于理解和维护。下面我将通过三个例子来详细说明JavaScript中类的概念和使用方法。例子1:创建一个表示人的类cl......