UiUtils.java
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.taover.ui;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.Vector;
import com.taover.db.GenerateEntity;
import com.taover.db.TableColumn;
import com.taover.db.Tools;
public class UiUtils {
public static String getProjectRoot(){
return UiUtils.class.getResource("/").getPath();
}
public static Connection getConnection(String driver, String user, String password, String url) {
Connection conn = null;
try {
Class.forName(driver);
Properties prop = new Properties();
prop.setProperty("user", user);
prop.setProperty("password", password);
prop.setProperty("remarks", "true");
conn = DriverManager.getConnection(url, prop);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void generateEntity(Properties prop, String dbPackage, String outputPath, String schameName, List<String> tableNameList, boolean createAllTable) throws Exception{
String driver = prop.getProperty("driver");
String user = prop.getProperty("User");
String password = prop.getProperty("Password");
String url = prop.getProperty("URL");
generateEntity(driver, user, password, url, dbPackage, outputPath, schameName, tableNameList, createAllTable);
}
public static void generateEntity(String driver, String user, String password, String url, String dbPackage, String outputPath, String schameName, List<String> tableNameList, boolean createAllTable) throws Exception{
//取数据库连接
Connection conn = getConnection(driver, user, password, url+schameName);
//是否生成全部表实体
if (createAllTable) {
tableNameList = new ArrayList<String>();
String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '"+schameName+"'";
ResultSet rs = Tools.executeQuery(Tools.createStmt(conn), sql);
if (null == rs){
return;
}
try {
while (rs.next()) {
tableNameList.add(rs.getString("Table_name"));
}
} catch (SQLException e) {
e.printStackTrace();
}
Tools.close(rs);
}
//遍历生成表实体
for (int i = 0; i < tableNameList.size(); i++) {
String tableNameCurr = (String) tableNameList.get(i);
//取得表中所有列
Vector<TableColumn> columnsInTable = TableColumn.GetTableInfo(conn, schameName, tableNameCurr, "%", "mysql");
if (columnsInTable == null || columnsInTable.size() == 0) {
System.out.println(tableNameCurr + " : 生成失败,得不到表中列明");
continue;
}
TableColumn pkcolum = TableColumn.getPKColum(columnsInTable);
if (pkcolum == null) {
System.out.println(tableNameCurr + " : 生成失败,未设置主键");
continue;
}
//生成po类
GenerateEntity.generateEntity(outputPath, dbPackage, columnsInTable);
System.out.println(tableNameCurr + " : 生成结束");
}
//关闭连接
conn.close();
}
}