資源簡介
文件是我優化過的代碼自動生成工具,相關教程可以查看我的博客https://blog.csdn.net/qq_25814003/article/details/83062246

代碼片段和文件信息
package?com.eoma.autocoding;
import?com.eoma.autocoding.common.Column;
import?com.eoma.autocoding.common.Table;
import?com.eoma.autocoding.utils.CamelCaseUtils;
import?com.eoma.autocoding.utils.FileHelper;
import?freemarker.template.Configuration;
import?freemarker.template.Template;
import?org.apache.log4j.Logger;
import?java.io.*;
import?java.sql.Connection;
import?java.sql.DatabasemetaData;
import?java.sql.ResultSet;
import?java.text.SimpleDateFormat;
import?java.util.*;
public?class?Generator?{
private?Logger?logger?=?Logger.getLogger(this.getClass());
private?Properties?properties?=?null;
public?Generator()?throws?Exception?{
properties?=?new?Properties();
String?fileDir?=?this.getClass().getClassLoader().getResource(“generator.xml“).getFile();
properties.loadFromxml(new?FileInputStream(fileDir));
}
public?Table?parseTable(String?tableName)?throws?Exception?{
String?driverName?=?properties.getProperty(“jdbc.driver“);
String?userName?=?properties.getProperty(“jdbc.username“);
String?userPwd?=?properties.getProperty(“jdbc.password“);
String?dbURL?=?properties.getProperty(“jdbc.url“);
String?catalog?=?properties.getProperty(“jdbc.catalog“);
String?schema?=?properties.getProperty(“jdbc.schema“);
schema?=?schema?==?null???“%“?:?schema;
String?column?=?“%“;
logger.debug(“driver>>“+driverName);
logger.debug(“url>>“+dbURL);
logger.debug(“name>>“+userName);
logger.debug(“password>>“+userPwd);
logger.debug(“catalog>>“+catalog);
logger.debug(“schema>>“+schema);
Class.forName(driverName);
Connection?conn?=?java.sql.DriverManager.getConnection(dbURL?userName?userPwd);
DatabasemetaData?dmd?=?conn.getmetaData();
ResultSet?rs?=?dmd.getColumns(catalog?schema?tableName?column);
List?columns?=?new?ArrayList();
while?(rs.next())?{
Column?c?=?new?Column();
c.setLabel(rs.getString(“REMARKS“));
String?name?=?rs.getString(“COLUMN_NAME“);
c.setName(CamelCaseUtils.toCamelCase(name));
c.setDbName(name);
String?dbType?=?rs.getString(“TYPE_NAME“);
int?columnSize?=?rs.getInt(“COLUMN_SIZE“);
if(dbType.equals(“TINYINT“)&&columnSize>1){
c.setType(“Integer“);
}else?if(dbType.equals(“TINYINT“)&&columnSize==1){
c.setType(“Boolean“);
}else{
String?type?=?properties.getProperty(dbType);
c.setType(type?==?null???“String“?:?type);
}
c.setDbType(dbType);
c.setLength(rs.getInt(“COLUMN_SIZE“));
c.setDecimalDigits(rs.getInt(“DECIMAL_DIGITS“));
c.setNullable(rs.getBoolean(“NULLABLE“));
columns.add(c);
}
List?pkColumns?=?new?ArrayList();
ResultSet?pkrs?=?dmd.getPrimaryKeys(catalog?schema?tableName);
while(pkrs.next()){
Column?c?=?new?Column();
String?name?=?pkrs.getString(“COLUMN_NAME“);
c.setName(CamelCaseUtils.toCamelCase(name));
c.setDbName(name);
pkColumns.add(c);
}
conn.close();
Table?t?=?new?Tab
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-15?16:16??代碼自動生成工具\
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\
?????文件?????????656??2018-09-13?09:41??代碼自動生成工具\Generator\.classpath
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\.idea\
?????文件???????????9??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\.name
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\.idea\artifacts\
?????文件?????????605??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\artifacts\Generator_jar.xm
?????文件?????????686??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\compiler.xm
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\.idea\copyright\
?????文件??????????76??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\copyright\profiles_settings.xm
?????文件?????????159??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\encodings.xm
?????文件????????1241??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\misc.xm
?????文件?????????258??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\modules.xm
?????文件???????61482??2018-09-13?09:42??代碼自動生成工具\Generator\.idea\workspace.xm
?????文件?????????591??2018-09-13?09:41??代碼自動生成工具\Generator\.project
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\.settings\
?????文件??????????88??2018-09-13?09:58??代碼自動生成工具\Generator\.settings\org.eclipse.core.resources.prefs
?????文件?????????364??2018-09-13?09:42??代碼自動生成工具\Generator\.settings\org.eclipse.jdt.core.prefs
?????文件?????????122??2018-09-13?09:42??代碼自動生成工具\Generator\.settings\org.eclipse.wst.common.project.facet.core.xm
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\com\
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\com\eoma\
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\com\eoma\autocoding\
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\com\eoma\autocoding\common\
?????文件????????2300??2018-10-13?14:27??代碼自動生成工具\Generator\bin\com\eoma\autocoding\common\Column.class
?????文件????????1950??2018-10-13?14:27??代碼自動生成工具\Generator\bin\com\eoma\autocoding\common\Table.class
?????文件???????10398??2018-10-13?14:27??代碼自動生成工具\Generator\bin\com\eoma\autocoding\Generator.class
?????目錄???????????0??2018-10-15?16:15??代碼自動生成工具\Generator\bin\com\eoma\autocoding\utils\
?????文件????????2116??2018-10-13?14:27??代碼自動生成工具\Generator\bin\com\eoma\autocoding\utils\CamelCaseUtils.class
?????文件????????2645??2018-10-13?14:27??代碼自動生成工具\Generator\bin\com\eoma\autocoding\utils\FileHelper.class
?????文件????????5080??2018-09-13?10:47??代碼自動生成工具\Generator\bin\generator.xm
............此處省略72個文件信息
- 上一篇:基于51單片機的心形聲光電子琴
- 下一篇:json校驗工具HiJson_64位
評論
共有 條評論