|
@@ -30,25 +30,25 @@ public class MybatisGeneratorUtil {
|
|
|
|
|
|
/**
|
|
|
* 根据模板生成generatorConfig.xml文件
|
|
|
- * @param jdbc_driver 驱动路径
|
|
|
- * @param jdbc_url 链接
|
|
|
- * @param jdbc_username 帐号
|
|
|
- * @param jdbc_password 密码
|
|
|
+ * @param jdbcDriver 驱动路径
|
|
|
+ * @param jdbcUrl 链接
|
|
|
+ * @param jdbcUsername 帐号
|
|
|
+ * @param jdbcPassword 密码
|
|
|
* @param module 项目模块
|
|
|
* @param database 数据库
|
|
|
- * @param table_prefix 表前缀
|
|
|
- * @param package_name 包名
|
|
|
+ * @param tablePrefix 表前缀
|
|
|
+ * @param packageName 包名
|
|
|
*/
|
|
|
public static void generator(
|
|
|
- String jdbc_driver,
|
|
|
- String jdbc_url,
|
|
|
- String jdbc_username,
|
|
|
- String jdbc_password,
|
|
|
+ String jdbcDriver,
|
|
|
+ String jdbcUrl,
|
|
|
+ String jdbcUsername,
|
|
|
+ String jdbcPassword,
|
|
|
String module,
|
|
|
String database,
|
|
|
- String table_prefix,
|
|
|
- String package_name,
|
|
|
- Map<String, String> last_insert_id_tables) throws Exception{
|
|
|
+ String tablePrefix,
|
|
|
+ String packageName,
|
|
|
+ Map<String, String> lastInsertIdTables) throws Exception{
|
|
|
|
|
|
String os = System.getProperty("os.name");
|
|
|
if (os.toLowerCase().startsWith("win")) {
|
|
@@ -65,9 +65,9 @@ public class MybatisGeneratorUtil {
|
|
|
|
|
|
String targetProject = module + "/" + module + "-dao";
|
|
|
String basePath = MybatisGeneratorUtil.class.getResource("/").getPath().replace("/target/classes/", "").replace(targetProject, "").replaceFirst("/", "");
|
|
|
- String generatorConfig_xml = MybatisGeneratorUtil.class.getResource("/").getPath().replace("/target/classes/", "") + "/src/main/resources/generatorConfig.xml";
|
|
|
+ String generatorConfigXml = MybatisGeneratorUtil.class.getResource("/").getPath().replace("/target/classes/", "") + "/src/main/resources/generatorConfig.xml";
|
|
|
targetProject = basePath + targetProject;
|
|
|
- String sql = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '" + database + "' AND table_name LIKE '" + table_prefix + "_%';";
|
|
|
+ String sql = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '" + database + "' AND table_name LIKE '" + tablePrefix + "_%';";
|
|
|
|
|
|
System.out.println("========== 开始生成generatorConfig.xml文件 ==========");
|
|
|
List<Map<String, Object>> tables = new ArrayList<>();
|
|
@@ -76,31 +76,31 @@ public class MybatisGeneratorUtil {
|
|
|
Map<String, Object> table;
|
|
|
|
|
|
// 查询定制前缀项目的所有表
|
|
|
- JdbcUtil jdbcUtil = new JdbcUtil(jdbc_driver, jdbc_url, jdbc_username, AESUtil.AESDecode(jdbc_password));
|
|
|
+ JdbcUtil jdbcUtil = new JdbcUtil(jdbcDriver, jdbcUrl, jdbcUsername, AESUtil.aesDecode(jdbcPassword));
|
|
|
List<Map> result = jdbcUtil.selectByParams(sql, null);
|
|
|
for (Map map : result) {
|
|
|
System.out.println(map.get("TABLE_NAME"));
|
|
|
- table = new HashMap<>();
|
|
|
+ table = new HashMap<>(2);
|
|
|
table.put("table_name", map.get("TABLE_NAME"));
|
|
|
table.put("model_name", lineToHump(ObjectUtils.toString(map.get("TABLE_NAME"))));
|
|
|
tables.add(table);
|
|
|
}
|
|
|
jdbcUtil.release();
|
|
|
|
|
|
- String targetProject_sqlMap = basePath + module + "/" + module + "-rpc-service";
|
|
|
+ String targetProjectSqlMap = basePath + module + "/" + module + "-rpc-service";
|
|
|
context.put("tables", tables);
|
|
|
- context.put("generator_javaModelGenerator_targetPackage", package_name + ".dao.model");
|
|
|
- context.put("generator_sqlMapGenerator_targetPackage", package_name + ".dao.mapper");
|
|
|
- context.put("generator_javaClientGenerator_targetPackage", package_name + ".dao.mapper");
|
|
|
+ context.put("generator_javaModelGenerator_targetPackage", packageName + ".dao.model");
|
|
|
+ context.put("generator_sqlMapGenerator_targetPackage", packageName + ".dao.mapper");
|
|
|
+ context.put("generator_javaClientGenerator_targetPackage", packageName + ".dao.mapper");
|
|
|
context.put("targetProject", targetProject);
|
|
|
- context.put("targetProject_sqlMap", targetProject_sqlMap);
|
|
|
- context.put("generator_jdbc_password", AESUtil.AESDecode(jdbc_password));
|
|
|
- context.put("last_insert_id_tables", last_insert_id_tables);
|
|
|
- VelocityUtil.generate(generatorConfig_vm, generatorConfig_xml, context);
|
|
|
+ context.put("targetProject_sqlMap", targetProjectSqlMap);
|
|
|
+ context.put("generator_jdbc_password", AESUtil.aesDecode(jdbcPassword));
|
|
|
+ context.put("last_insert_id_tables", lastInsertIdTables);
|
|
|
+ VelocityUtil.generate(generatorConfig_vm, generatorConfigXml, context);
|
|
|
// 删除旧代码
|
|
|
- deleteDir(new File(targetProject + "/src/main/java/" + package_name.replaceAll("\\.", "/") + "/dao/model"));
|
|
|
- deleteDir(new File(targetProject + "/src/main/java/" + package_name.replaceAll("\\.", "/") + "/dao/mapper"));
|
|
|
- deleteDir(new File(targetProject_sqlMap + "/src/main/java/" + package_name.replaceAll("\\.", "/") + "/dao/mapper"));
|
|
|
+ deleteDir(new File(targetProject + "/src/main/java/" + packageName.replaceAll("\\.", "/") + "/dao/model"));
|
|
|
+ deleteDir(new File(targetProject + "/src/main/java/" + packageName.replaceAll("\\.", "/") + "/dao/mapper"));
|
|
|
+ deleteDir(new File(targetProjectSqlMap + "/src/main/java/" + packageName.replaceAll("\\.", "/") + "/dao/mapper"));
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -108,7 +108,7 @@ public class MybatisGeneratorUtil {
|
|
|
|
|
|
System.out.println("========== 开始运行MybatisGenerator ==========");
|
|
|
List<String> warnings = new ArrayList<>();
|
|
|
- File configFile = new File(generatorConfig_xml);
|
|
|
+ File configFile = new File(generatorConfigXml);
|
|
|
ConfigurationParser cp = new ConfigurationParser(warnings);
|
|
|
Configuration config = cp.parseConfiguration(configFile);
|
|
|
DefaultShellCallback callback = new DefaultShellCallback(true);
|
|
@@ -121,8 +121,8 @@ public class MybatisGeneratorUtil {
|
|
|
|
|
|
System.out.println("========== 开始生成Service ==========");
|
|
|
String ctime = new SimpleDateFormat("yyyy/M/d").format(new Date());
|
|
|
- String servicePath = basePath + module + "/" + module + "-rpc-api" + "/src/main/java/" + package_name.replaceAll("\\.", "/") + "/rpc/api";
|
|
|
- String serviceImplPath = basePath + module + "/" + module + "-rpc-service" + "/src/main/java/" + package_name.replaceAll("\\.", "/") + "/rpc/service/impl";
|
|
|
+ String servicePath = basePath + module + "/" + module + "-rpc-api" + "/src/main/java/" + packageName.replaceAll("\\.", "/") + "/rpc/api";
|
|
|
+ String serviceImplPath = basePath + module + "/" + module + "-rpc-service" + "/src/main/java/" + packageName.replaceAll("\\.", "/") + "/rpc/service/impl";
|
|
|
for (int i = 0; i < tables.size(); i++) {
|
|
|
String model = StringUtil.lineToHump(ObjectUtils.toString(tables.get(i).get("table_name")));
|
|
|
String service = servicePath + "/" + model + "Service.java";
|
|
@@ -132,7 +132,7 @@ public class MybatisGeneratorUtil {
|
|
|
File serviceFile = new File(service);
|
|
|
if (!serviceFile.exists()) {
|
|
|
VelocityContext context = new VelocityContext();
|
|
|
- context.put("package_name", package_name);
|
|
|
+ context.put("package_name", packageName);
|
|
|
context.put("model", model);
|
|
|
context.put("ctime", ctime);
|
|
|
VelocityUtil.generate(service_vm, service, context);
|
|
@@ -142,7 +142,7 @@ public class MybatisGeneratorUtil {
|
|
|
File serviceMockFile = new File(serviceMock);
|
|
|
if (!serviceMockFile.exists()) {
|
|
|
VelocityContext context = new VelocityContext();
|
|
|
- context.put("package_name", package_name);
|
|
|
+ context.put("package_name", packageName);
|
|
|
context.put("model", model);
|
|
|
context.put("ctime", ctime);
|
|
|
VelocityUtil.generate(serviceMock_vm, serviceMock, context);
|
|
@@ -152,7 +152,7 @@ public class MybatisGeneratorUtil {
|
|
|
File serviceImplFile = new File(serviceImpl);
|
|
|
if (!serviceImplFile.exists()) {
|
|
|
VelocityContext context = new VelocityContext();
|
|
|
- context.put("package_name", package_name);
|
|
|
+ context.put("package_name", packageName);
|
|
|
context.put("model", model);
|
|
|
context.put("mapper", StringUtil.toLowerCaseFirstOne(model));
|
|
|
context.put("ctime", ctime);
|