实现目标将user表生成一个java实体类
user表结构如下
CREATE TABLE `user` (
`AUTH_ID` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '通行证ID',
`USER_NAME` char(1) COLLATE utf8mb4_bin NOT NULL COMMENT '用户姓名',
`CREATE_TIME` datetime NOT NULL DEFAULT '1970-12-31 00:00:00' COMMENT '创建日期',
`CREATOR` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '创建人',
`UPDATE_TIME` datetime NOT NULL DEFAULT '1970-12-31 00:00:00' COMMENT '修改日期',
`MODIFIER` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '修改人',
`TENANT_ID` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT '租户ID',
PRIMARY KEY (`AUTH_ID`,`TENANT_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC COMMENT='用户信息表';
生成的实体类如下
package com.fourg.testone.db.autotest.entity.jourtestcase;
import java.util.Date;
/**
* 客户信息表
*
* @author lxx
* @date 2022/04/08
*/
public class UserInfo {
/**
* 租户ID
*/
private String tenantId;
/**
* 通行证ID
*/
private String authId;
/**
* 用户姓名
*/
private String userName;
/**
* 创建日期
*/
private Date createTime;
/**
* 创建人
*/
private String creator;
/**
* 修改日期
*/
private Date updateTime;
/**
* 修改人
*/
private String modifier;
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public String getAuthId() {
return authId;
}
public void setAuthId(String authId) {
this.authId = authId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getModifier() {
return modifier;
}
public void setModifier(String modifier) {
this.modifier = modifier;
}
}
实现方法,我主要参考这篇文章
MyBatis Generator 自定义生成注释 - SegmentFault 思否
一、下载git上代码
https://github.com/mizhoux/mbg-comment
在你的工程里面新建一个包,把git上的
EmptyCommentGenerator、Generator、MySQLCommentGenerator类放到这个包里面,把git上的
generatorConfig文件放到根目录下,即跟src同级
二、修改generatorConfig.xml文件
<classPathEntry location="/Users/lxx/software/mysql-connector-java-8.0.16.jar"/> --改成你本地的驱动地址,稍后我把这个jar包上传到
<commentGenerator type="com.fourg.testone.mbg.MySQLCommentGenerator"> <property name="author" value="lxx"/> <property name="dateFormat" value="yyyy/MM/dd"/> </commentGenerator> -- 改成你的包地址和姓名
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://rm-bp1guk4h607i29bv4.mysql.rds.aliyuncs.com:3306/testone?characterEncoding=utf-8" userId="uat_rds" password="Uat2020!"> <!-- 设置 useInformationSchema 属性为 true --> <property name="useInformationSchema" value="true" /> </jdbcConnection> --- 改成你的数据库链接信息
<!-- 生成实体的位置 --> <javaModelGenerator targetPackage="com.fourg.testone.db.autotest.entity.jourtestcase" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaModelGenerator> --- 改成你要的地址
<table tableName="user_info" domainObjectName="UserInfo"> <!-- 设置用于生成主键的方式 --> <generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()"/> </table>-- 改成你要生成的表对象及要生成的类名
三、运行
Generator里面的main函数
大功告成!