1
0
suochencheng 7 лет назад
Родитель
Сommit
0ceb45b8c0

+ 7 - 1
src/main/java/com/izouma/awesomeadmin/util/Const.java

@@ -14,6 +14,9 @@ import java.util.Map;
  */
 public class Const {
 
+    /**
+     * 数据源常量
+     */
     public static Map<String, DataSourceInfo> DataSourceInfoMap = new HashMap<>();
 
 
@@ -27,6 +30,7 @@ public class Const {
 
         String DRIVER = "com.mysql.jdbc.Driver";
 
+        //读取配置文件
         PropertiesFileLoader propertiesFileLoader = PropertiesFileLoader.getInstance();
         propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
 
@@ -34,8 +38,9 @@ public class Const {
         String user = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.username");
         String password = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.password");
 
-
+        //读取数据源表
         String sql = "SELECT * FROM sys_data_source_info WHERE del_flag = 'N'";
+
         Connection conn = JDBC.connectDB(DRIVER, url, user, password);
         try {
             Statement stmt = conn.createStatement();
@@ -50,6 +55,7 @@ public class Const {
                 dataSourceInfo.setPassword(rs.getString(7));
                 dataSourceInfo.setDatabaseName(rs.getString(8));
 
+                //添加到常量中
                 DataSourceInfoMap.put(rs.getString(3), dataSourceInfo);
             }
         } catch (SQLException e) {

+ 13 - 1
src/main/java/com/izouma/awesomeadmin/util/DatabaseUtil.java

@@ -20,6 +20,12 @@ import java.util.Map;
 public class DatabaseUtil {
 
 
+    /**
+     * 加载数据库所有表
+     *
+     * @param dataSourceInfo
+     * @return
+     */
     public static List<String> loadDatabaseTables(DataSourceInfo dataSourceInfo) {
 
 
@@ -30,7 +36,6 @@ public class DatabaseUtil {
         String DRIVER = "com.mysql.jdbc.Driver";
 
         PropertiesFileLoader propertiesFileLoader = PropertiesFileLoader.getInstance();
-        propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
 
         String url = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
         String user = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.username");
@@ -58,6 +63,7 @@ public class DatabaseUtil {
             ResultSet rs = stmt.executeQuery(sql);
             while (rs.next()) {
 
+                //系统表不显示
                 if (!rs.getString(1).startsWith("ACT_")
                         && !rs.getString(1).startsWith("act_")
                         && !rs.getString(1).startsWith("sys_")
@@ -79,6 +85,12 @@ public class DatabaseUtil {
         return tables;
     }
 
+    /**
+     * 加载表字段
+     *
+     * @param dataSourceInfo
+     * @return
+     */
     public static List<TableField> loadTableFields(DataSourceInfo dataSourceInfo) {
 
 

+ 25 - 1
src/main/java/com/izouma/awesomeadmin/web/GenCodeController.java

@@ -129,6 +129,12 @@ public class GenCodeController extends BaseController {
         return new Result(false, "保存异常");
     }
 
+    /**
+     * 生成代码
+     *
+     * @param record
+     * @throws Exception
+     */
     private void genCode(@RequestBody GenCode record) throws Exception {
         String tableName = record.getTableName();
 
@@ -137,9 +143,10 @@ public class GenCodeController extends BaseController {
         }
 
         if (StringUtils.isNotEmpty(record.getClassName())) {
-
+            //手动填写
             record.setClassName(CaseUtils.toCamelCase(record.getClassName(), true, '_'));
         } else {
+            //根据表名生成类名
             record.setClassName(CaseUtils.toCamelCase(tableName, true, '_'));
         }
 
@@ -187,6 +194,11 @@ public class GenCodeController extends BaseController {
         return new Result(false, "删除异常");
     }
 
+    /**
+     * 获取生成代码文件路径
+     *
+     * @return
+     */
     @RequestMapping(value = "/getSrcPath", method = RequestMethod.GET)
     @ResponseBody
     public Result getSrcPath() {
@@ -209,6 +221,12 @@ public class GenCodeController extends BaseController {
         return new Result(true, map);
     }
 
+    /**
+     * 根据数据源获取所有表
+     *
+     * @param dataSourceInfo
+     * @return
+     */
     @RequestMapping(value = "/tables", method = RequestMethod.GET)
     @ResponseBody
     public Result tables(DataSourceInfo dataSourceInfo) {
@@ -229,6 +247,12 @@ public class GenCodeController extends BaseController {
         return new Result(false, "获取失败");
     }
 
+    /**
+     * 根据表获取字段
+     *
+     * @param dataSourceInfo
+     * @return
+     */
     @RequestMapping(value = "/tableFields", method = RequestMethod.GET)
     @ResponseBody
     public Result tableFields(DataSourceInfo dataSourceInfo) {

+ 5 - 0
src/main/java/com/izouma/codegenerator/ControllerGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class ControllerGenerator {
+    /**
+     * 生成Controller
+     *
+     * @param model
+     */
     public static void GenController(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 4 - 0
src/main/java/com/izouma/codegenerator/EditViewGenerator.java

@@ -14,6 +14,10 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class EditViewGenerator {
+    /**
+     * 生成编辑页面
+     * @param model
+     */
     public static void GenEditView(GenCode model) {
         try {
             Set<String> imports = new HashSet<>();

+ 8 - 2
src/main/java/com/izouma/codegenerator/GeneratorTool.java

@@ -8,6 +8,13 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class GeneratorTool {
+
+    /**
+     * 类型转换和引入相关类
+     *
+     * @param model
+     * @return
+     */
     public static List<String> getImports(GenCode model) {
         List<String> imports = new ArrayList<>();
         for (TableField field : model.getFields()) {
@@ -82,7 +89,6 @@ public class GeneratorTool {
     }
 
 
-
     public static String SqlServerJdbcType2Mysql(String jdbcType) {
 
         if (jdbcType.equalsIgnoreCase("int identity")) {
@@ -91,7 +97,7 @@ public class GeneratorTool {
             return "varchar";
         } else if (jdbcType.equalsIgnoreCase("ntext")) {
             return "text";
-        }else if (jdbcType.equalsIgnoreCase("nchar")) {
+        } else if (jdbcType.equalsIgnoreCase("nchar")) {
             return "char";
         }
         return jdbcType;

+ 5 - 0
src/main/java/com/izouma/codegenerator/ListViewGenerator.java

@@ -14,6 +14,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class ListViewGenerator {
+    /**
+     * 生成列表页面
+     *
+     * @param model
+     */
     public static void GenListView(GenCode model) {
         try {
             Set<String> imports = new HashSet<>();

+ 5 - 0
src/main/java/com/izouma/codegenerator/MapperGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class MapperGenerator {
+    /**
+     * 生成MAPPER接口类
+     *
+     * @param model
+     */
     public static void GenMapper(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 5 - 0
src/main/java/com/izouma/codegenerator/MapperXmlGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class MapperXmlGenerator {
+    /**
+     * 生成mapperXML
+     *
+     * @param model
+     */
     public static void GenXml(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 5 - 0
src/main/java/com/izouma/codegenerator/ModelGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class ModelGenerator {
+    /**
+     * 生成实体类对象
+     *
+     * @param model
+     */
     public static void GenModel(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 5 - 0
src/main/java/com/izouma/codegenerator/RouterGenerator.java

@@ -6,6 +6,11 @@ import org.apache.commons.lang.StringUtils;
 import java.io.*;
 
 public class RouterGenerator {
+
+    /**
+     * 生成路由
+     * @param model
+     */
     public static void GenRouter(GenCode model) {
         try {
             File file = new File(model.getRouterPath(), "index.js");

+ 5 - 0
src/main/java/com/izouma/codegenerator/ServiceGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class ServiceGenerator {
+    /**
+     * 生成service
+     *
+     * @param model
+     */
     public static void GenService(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 5 - 0
src/main/java/com/izouma/codegenerator/ServiceImplGenerator.java

@@ -15,6 +15,11 @@ import java.io.OutputStreamWriter;
 import java.util.*;
 
 public class ServiceImplGenerator {
+    /**
+     * 生成service实现类
+     *
+     * @param model
+     */
     public static void GemServicelImpl(GenCode model) {
         try {
             List<String> imports = new ArrayList<>();

+ 32 - 19
src/main/java/com/izouma/codegenerator/TableGenerator.java

@@ -1,7 +1,10 @@
 package com.izouma.codegenerator;
 
+import com.izouma.awesomeadmin.model.DataSourceInfo;
 import com.izouma.awesomeadmin.model.GenCode;
 import com.izouma.awesomeadmin.model.TableField;
+import com.izouma.awesomeadmin.util.Const;
+import com.izouma.awesomeadmin.util.JDBC;
 import com.izouma.awesomeadmin.util.PropertiesFileLoader;
 import org.apache.commons.lang.StringUtils;
 
@@ -43,37 +46,47 @@ public class TableGenerator {
         GenTable(genCode);
     }
 
+    /**
+     * 生成表,数据库建表
+     *
+     * @param model
+     * @throws Exception
+     */
     public static void GenTable(GenCode model) throws Exception {
         Connection conn = null;
         try {
 
-            if ("Mysql".equals(model.getDataBaseType())) {
-                Class.forName("com.mysql.jdbc.Driver");
-                System.out.println("成功加载MySQL驱动!");
+            String DRIVER = "com.mysql.jdbc.Driver";
 
-                PropertiesFileLoader propertiesFileLoader = PropertiesFileLoader.getInstance();
-                propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
+            PropertiesFileLoader propertiesFileLoader = PropertiesFileLoader.getInstance();
 
-                String url = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
-                String user = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.username");
-                String password = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.password");
-                conn = DriverManager.getConnection(url, user, password);
+            //基础数据库
+            String url = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
+            String user = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.username");
+            String password = propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.password");
 
-                System.out.println("成功连接到数据库!");
-            } else if ("SqlServer".equals(model.getDataBaseType())) {
-                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
-                System.out.println("成功加载SQLServer驱动!");
 
-                PropertiesFileLoader propertiesFileLoader = PropertiesFileLoader.getInstance();
-                propertiesFileLoader.getProperties("properties/jdbc.properties", "jdbc.url");
+            if (!"dataSource".equals(model.getDataSourceCode())) {//如果不是基础数据库
+
+                //获取数据源配置信息
+                DataSourceInfo dataSourceInfo = Const.DataSourceInfoMap.get(model.getDataSourceCode());
+
+                if ("Mysql".equals(dataSourceInfo.getDatabaseType())) {
+                    url = "jdbc:mysql://" + dataSourceInfo.getUrl() + "/" + dataSourceInfo.getDatabaseName();
+                    user = dataSourceInfo.getUsername();
+                    password = dataSourceInfo.getPassword();
+                } else if ("SqlServer".equals(dataSourceInfo.getDatabaseType())) {
+                    DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+                    url = "jdbc:sqlserver://" + dataSourceInfo.getUrl() + ";DatabaseName=" + dataSourceInfo.getDatabaseName();
+                    user = dataSourceInfo.getUsername();
+                    password = dataSourceInfo.getPassword();
+                }
 
-                String url = propertiesFileLoader.getProperties("properties/jdbc.properties", "sqlserver.url");
-                String user = propertiesFileLoader.getProperties("properties/jdbc.properties", "sqlserver.user");
-                String password = propertiesFileLoader.getProperties("properties/jdbc.properties", "sqlserver.password");
-                conn = DriverManager.getConnection(url, user, password);
             }
 
 
+            conn = JDBC.connectDB(DRIVER, url, user, password);
+
             Statement stmt = conn.createStatement();
 
             String sql = "DROP TABLE IF EXISTS " + model.getTableName() + "; create table " + model.getTableName() + "(";