第二版,生成实体类的同时,可以生成mapper和service类。
业务项目要求:
1 springboot
2 mybatisplus
3 lombok
运行此代码要求:
1 jdk
2 jdbc驱动
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.1.0</version>
</dependency>
上代码!
需要修改的地方,我已经标记todo了,可以根据自己的环境相应的修改
package com.wql.example;import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;/*** 生成DO和mapper、service*/
public class EntityClassFullGenerator {// todo 数据库配置private static final String HOST = "127.0.0.1";private static final String DATABASE = "dev";private static final String USER = "root";private static final String PASSWORD = "123456";private static final int PORT = 3306;// todo 类生成目录private static final String OUTPUTDIR = "C:\\Users\\weiqi\\Desktop\\xxx";// todo 包名private static final String PACKAGE_NAME = "com.example";// todo 作者private static final String AUTHOR = "作者";// todo 是否生成mybatisplus注解private static final Boolean IS_ADD_MYBATISPLUS_ANNOTATION = true;// todo 是否生成逻辑删除注解private static final Boolean IS_LOGIC_DELETE = true;// todo 逻辑删除字段private static final String LOGIC_DELETE_COLUMN_NAME = "delete_flag";// todo 忽略表前缀private static final String IGNORE_TABLE_PREFIX = "t_";// todo 是否生成service和mapperprivate static final Boolean IS_GENERATE_SERVICE_AND_MAPPER = true;private static final List<String> TABLE_NAMES = new ArrayList<>();private static final List<String> INSERT_FIELD_FILL_COLUMN_NAMES = new ArrayList<>();private static final List<String> INSERT_UPDATE_FIELD_FILL_COLUMN_NAMES = new ArrayList<>();private static String CLASS_COMMENT = null;static{// todo 需要处理的表TABLE_NAMES.add("t_test_1");TABLE_NAMES.add("t_test_2");// todo 需要insert注解的字段INSERT_FIELD_FILL_COLUMN_NAMES.add("create_time");INSERT_FIELD_FILL_COLUMN_NAMES.add("create_user");// todo 需要update注解的字段INSERT_UPDATE_FIELD_FILL_COLUMN_NAMES.add("update_time");INSERT_UPDATE_FIELD_FILL_COLUMN_NAMES.add("update_user");CLASS_COMMENT = generateClassComment();}/*** 主方法,运行此方法*/public static void main(String[] args) {String url = "jdbc:mysql://" + HOST + ":" + PORT + "/" + DATABASE;try (Connection conn = DriverManager.getConnection(url, USER, PASSWORD)) {try {for (String tableName : TABLE_NAMES) {// 生成实体类