|
|
@@ -1,1259 +1,1476 @@
|
|
|
-/* */ package zouma.frame.gen;
|
|
|
-/* */
|
|
|
-/* */ import java.io.File;
|
|
|
-/* */ import java.io.FileWriter;
|
|
|
-/* */ import java.io.IOException;
|
|
|
-/* */ import java.io.PrintStream;
|
|
|
-/* */ import java.io.PrintWriter;
|
|
|
-/* */ import java.sql.Connection;
|
|
|
-/* */ import java.sql.DatabaseMetaData;
|
|
|
-/* */ import java.sql.DriverManager;
|
|
|
-/* */ import java.sql.PreparedStatement;
|
|
|
-/* */ import java.sql.ResultSet;
|
|
|
-/* */ import java.sql.ResultSetMetaData;
|
|
|
-/* */ import java.sql.SQLException;
|
|
|
-/* */ import java.util.Date;
|
|
|
-/* */ import zouma.frame.util.StringUtil;
|
|
|
-/* */
|
|
|
-/* */ public class GenEntity
|
|
|
-/* */ {
|
|
|
-/* 15 */ private static boolean f_util = false;
|
|
|
-/* 16 */ private static boolean f_sql = false;
|
|
|
-/* 17 */ private static boolean f_math = false;
|
|
|
-/* */
|
|
|
-/* */ public static void GenAll(TableParams tableParams)
|
|
|
-/* */ {
|
|
|
-/* 26 */ String PK_NAME = "id";
|
|
|
-/* 27 */ Connection con = null;
|
|
|
-/* */
|
|
|
-/* 30 */ String sql = "select * from " + tableParams.getTabelName();
|
|
|
-/* 31 */ PreparedStatement pStemt = null;
|
|
|
-/* */ try {
|
|
|
-/* */ try {
|
|
|
-/* 34 */ Class.forName("com.mysql.jdbc.Driver");
|
|
|
-/* */ }
|
|
|
-/* */ catch (ClassNotFoundException e1) {
|
|
|
-/* 37 */ e1.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* 39 */ con = DriverManager.getConnection("jdbc:mysql://rm-bp14x23t9lalb9ftio.mysql.rds.aliyuncs.com/house_source", "huabangyun", "NJhby2017");
|
|
|
-/* 40 */ pStemt = con.prepareStatement(sql);
|
|
|
-/* 41 */ ResultSetMetaData rsmd = pStemt.getMetaData();
|
|
|
-/* */
|
|
|
-/* 43 */ ResultSet pkRSet = con.getMetaData().getPrimaryKeys(con.getCatalog().toUpperCase(),
|
|
|
-/* 44 */ null, tableParams.getTabelName());
|
|
|
-/* */
|
|
|
-/* 46 */ while (pkRSet.next()) {
|
|
|
-/* 47 */ System.out.println(pkRSet.getString("COLUMN_NAME"));
|
|
|
-/* 48 */ PK_NAME = pkRSet.getString("COLUMN_NAME");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 51 */ int size = rsmd.getColumnCount();
|
|
|
-/* 52 */ String[] colnames = new String[size];
|
|
|
-/* 53 */ String[] colTypes = new String[size];
|
|
|
-/* 54 */ int[] colSizes = new int[size];
|
|
|
-/* 55 */ for (int i = 0; i < size; i++) {
|
|
|
-/* 56 */ colnames[i] = rsmd.getColumnName(i + 1);
|
|
|
-/* 57 */ colTypes[i] = rsmd.getColumnTypeName(i + 1);
|
|
|
-/* */
|
|
|
-/* 59 */ if ((colTypes[i].equalsIgnoreCase("datetime")) || (colTypes[i].equalsIgnoreCase("timestamp"))) {
|
|
|
-/* 60 */ f_util = true;
|
|
|
-/* */ }
|
|
|
-/* 62 */ if ((colTypes[i].equalsIgnoreCase("image")) || (colTypes[i].equalsIgnoreCase("text"))) {
|
|
|
-/* 63 */ f_sql = true;
|
|
|
-/* */ }
|
|
|
-/* 65 */ if ((colTypes[i].equalsIgnoreCase("decimal")) || (colTypes[i].equalsIgnoreCase("numeric")) ||
|
|
|
-/* 66 */ (colTypes[i].equalsIgnoreCase("real")) || (colTypes[i].equalsIgnoreCase("money")) ||
|
|
|
-/* 67 */ (colTypes[i].equalsIgnoreCase("smallmoney"))) {
|
|
|
-/* 68 */ f_math = true;
|
|
|
-/* */ }
|
|
|
-/* 70 */ colSizes[i] = rsmd.getColumnDisplaySize(i + 1);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 74 */ if (tableParams.isModelFlag())
|
|
|
-/* */ {
|
|
|
-/* 76 */ createModelFile(tableParams, colnames, colTypes);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 80 */ if (tableParams.isDaoFlag())
|
|
|
-/* */ {
|
|
|
-/* 82 */ createDaoClassFile(tableParams);
|
|
|
-/* 83 */ createDaoXmlFile(tableParams, colnames, colTypes, PK_NAME);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 87 */ if (tableParams.isServiceFlag())
|
|
|
-/* */ {
|
|
|
-/* 89 */ createServiceFile(tableParams, PK_NAME);
|
|
|
-/* 90 */ createServiceImplFile(tableParams, PK_NAME);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 94 */ if (tableParams.isControllerFlag())
|
|
|
-/* */ {
|
|
|
-/* 96 */ createControllerFile(tableParams, PK_NAME);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 101 */ if (tableParams.isJspFlag()) {
|
|
|
-/* 102 */ createJspByPageFile(tableParams, PK_NAME, colnames);
|
|
|
-/* 103 */ createJspEditFile(tableParams, PK_NAME, colnames);
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 107 */ pStemt.close();
|
|
|
-/* 108 */ pkRSet.close();
|
|
|
-/* 109 */ con.close();
|
|
|
-/* */ }
|
|
|
-/* */ catch (SQLException e) {
|
|
|
-/* 112 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createJspEditFile(TableParams tableParams, String pk_name, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 120 */ String jspEditContent = parseJspEdit(tableParams.getTabelName(), pk_name, colnames);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 123 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 125 */ String fileName = directory.getAbsolutePath() + "/" + changeToFolder(tableParams.getJspTargetPackage()) + StringUtil.underlineToCamel(tableParams.getTabelName()) + ".jsp";
|
|
|
-/* 126 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 127 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 128 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 129 */ pw.println(jspEditContent);
|
|
|
-/* 130 */ pw.flush();
|
|
|
-/* 131 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 133 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseJspEdit(String tabelName, String pkName, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 139 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 142 */ String upTableName = StringUtil.initcap(tabelName);
|
|
|
-/* 143 */ String downTableName = StringUtil.underlineToCamel(tabelName);
|
|
|
-/* */
|
|
|
-/* 146 */ sb.append("<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>\r\n");
|
|
|
-/* 147 */ sb.append("<html>\r\n");
|
|
|
-/* */
|
|
|
-/* 149 */ sb.append("<head>\r\n");
|
|
|
-/* 150 */ sb.append("\t<jsp:include page=\"head.jsp\"/>\r\n");
|
|
|
-/* */
|
|
|
-/* 153 */ sb.append("\t<title>zouma.frame</title>\r\n");
|
|
|
-/* */
|
|
|
-/* 155 */ sb.append("</head>\r\n");
|
|
|
-/* */
|
|
|
-/* 157 */ sb.append("<body>\r\n");
|
|
|
-/* */
|
|
|
-/* 159 */ sb.append("<jsp:include page=\"contentBefore.jsp\"/>\r\n");
|
|
|
-/* 160 */ sb.append("<template>\r\n");
|
|
|
-/* */
|
|
|
-/* 162 */ sb.append("\t<el-form ref=\"form\" :model=\"row_info\" label-width=\"80px\">\r\n");
|
|
|
-/* */
|
|
|
-/* 165 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 167 */ if (!pkName.equalsIgnoreCase(colnames[i]))
|
|
|
-/* */ {
|
|
|
-/* 169 */ sb.append("\t\t<el-form-item label=\"" + StringUtil.underlineToCamel(colnames[i]) + "\">\r\n");
|
|
|
-/* 170 */ sb.append("\t\t\t<el-input v-model=\"row_info." + StringUtil.underlineToCamel(colnames[i]) + "\"></el-input>\r\n");
|
|
|
-/* 171 */ sb.append("\t\t</el-form-item>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 177 */ sb.append("\t\t<el-form-item>\r\n");
|
|
|
-/* 178 */ sb.append("\t\t\t<el-button type=\"primary\" @click=\"onSubmit\">{{edit?'淇濆瓨':'绔嬪嵆鍒涘缓'}}</el-button>\r\n");
|
|
|
-/* 179 */ sb.append("\t\t\t<el-button>鍙栨秷</el-button>\r\n");
|
|
|
-/* 180 */ sb.append("\t</el-form-item>\r\n");
|
|
|
-/* 181 */ sb.append("\t</el-form>\r\n");
|
|
|
-/* 182 */ sb.append("</template>\r\n");
|
|
|
-/* */
|
|
|
-/* 185 */ sb.append("<jsp:include page=\"contentAfter.jsp\"/>\r\n");
|
|
|
-/* 186 */ sb.append("</body>\r\n");
|
|
|
-/* */
|
|
|
-/* 189 */ sb.append("<script>\r\n");
|
|
|
-/* */
|
|
|
-/* 191 */ sb.append("\tfunction getQueryString(name) {\r\n");
|
|
|
-/* 192 */ sb.append("\t\tvar reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\", \"i\");\r\n");
|
|
|
-/* 193 */ sb.append("\t\tvar r = window.location.search.substr(1).match(reg);\r\n");
|
|
|
-/* 194 */ sb.append("\t\tif (r != null) return unescape(r[2]);\r\n");
|
|
|
-/* 195 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 196 */ sb.append("\t}\r\n");
|
|
|
-/* */
|
|
|
-/* 198 */ sb.append("\tnew Vue({\r\n");
|
|
|
-/* 199 */ sb.append("\t\tel: '#app',\r\n");
|
|
|
-/* 200 */ sb.append("\t\tcreated: function () {\r\n");
|
|
|
-/* 201 */ sb.append("\t\t\tvar " + StringUtil.underlineToCamel(pkName) + " = getQueryString('" + StringUtil.underlineToCamel(pkName) + "');\r\n");
|
|
|
-/* 202 */ sb.append("\t\t\tif (" + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
-/* 203 */ sb.append("\t\t\t\t$.get({\r\n");
|
|
|
-/* 204 */ sb.append("\t\t\t\t\turl: '../" + downTableName + "/get" + upTableName + "',\r\n");
|
|
|
-/* 205 */ sb.append("\t\t\t\t\tdata: {\r\n");
|
|
|
-/* 206 */ sb.append("\t\t\t\t\t\t" + StringUtil.underlineToCamel(pkName) + ": " + StringUtil.underlineToCamel(pkName) + "\r\n");
|
|
|
-/* 207 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 208 */ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
-/* 209 */ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
-/* 210 */ sb.append("\t\t\t\t\t\tthis.edit = true;\r\n");
|
|
|
-/* 211 */ sb.append("\t\t\t\t\t\tthis.row_info = res.data;\r\n");
|
|
|
-/* 212 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 213 */ sb.append("\t\t\t\t}.bind(this));\r\n");
|
|
|
-/* 214 */ sb.append("\t\t\t}\r\n");
|
|
|
-/* 215 */ sb.append("\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 217 */ sb.append("\t\tdata: function () {\r\n");
|
|
|
-/* 218 */ sb.append("\t\t\treturn {\r\n");
|
|
|
-/* 219 */ sb.append("\t\t\t\tmenu: '0-0',\r\n");
|
|
|
-/* 220 */ sb.append("\t\t\t\tuser: {\r\n");
|
|
|
-/* 221 */ sb.append("\t\t\t\t\tid: '',\n\r\n");
|
|
|
-/* 222 */ sb.append("\t\t\t\t\tusername: 'admin',\r\n");
|
|
|
-/* 223 */ sb.append("\t\t\t\t\tavatar: ''\r\n");
|
|
|
-/* 224 */ sb.append("\t\t\t\t},\r\n");
|
|
|
-/* 225 */ sb.append("\t\t\t\tloading: false,\r\n");
|
|
|
-/* 226 */ sb.append("\t\t\t\tedit: false,\r\n");
|
|
|
-/* 227 */ sb.append("\t\t\t\ttab: 1,\r\n");
|
|
|
-/* 228 */ sb.append("\t\t\t\trow_info : {},\r\n");
|
|
|
-/* 229 */ sb.append("\t\t\t};\r\n");
|
|
|
-/* 230 */ sb.append("\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 233 */ sb.append("\t\tmethods: {\r\n");
|
|
|
-/* 234 */ sb.append("\t\t\tlogout: function () {\r\n");
|
|
|
-/* 235 */ sb.append("\t\t\t\tthis.$confirm('纭畾瑕佹敞閿�鍚�?', '鎻愮ず', {\r\n");
|
|
|
-/* 236 */ sb.append("\t\t\t\t\tconfirmButtonText: '纭畾',\r\n");
|
|
|
-/* 237 */ sb.append("\t\t\t\t\tcancelButtonText: '鍙栨秷',\r\n");
|
|
|
-/* 238 */ sb.append("\t\t\t\t\ttype: 'info'\r\n");
|
|
|
-/* 239 */ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
-/* 240 */ sb.append("\t\t\t\t\tlocalStorage.removeItem('user');\r\n");
|
|
|
-/* 241 */ sb.append("\t\t\t\t\tthis.$router.push({path: '/login'});\r\n");
|
|
|
-/* 242 */ sb.append("\t\t\t\t}.bind(this)).catch(function (e) {\r\n");
|
|
|
-/* 243 */ sb.append("\r\n");
|
|
|
-/* 244 */ sb.append("\t\t\t\t});\r\n");
|
|
|
-/* 245 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 247 */ sb.append("\t\t\tonSubmit: function () {\r\n");
|
|
|
-/* 248 */ sb.append("\t\t\t\tvar data = JSON.parse(JSON.stringify(this.row_info));\r\n");
|
|
|
-/* 249 */ sb.append("\t\t\t\t$.post({\r\n");
|
|
|
-/* 250 */ sb.append("\t\t\t\t\turl: this.edit ? '../" + downTableName + "/update' : '../" + downTableName + "/save',\r\n");
|
|
|
-/* 251 */ sb.append("\t\t\t\t\tdata: data\r\n");
|
|
|
-/* 252 */ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
-/* 253 */ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
-/* 254 */ sb.append("\t\t\t\t\t\tif (!this.edit) {\r\n");
|
|
|
-/* 255 */ sb.append("\t\t\t\t\t\t\tthis.row_info." + StringUtil.underlineToCamel(pkName) + " = res.data;\r\n");
|
|
|
-/* 256 */ sb.append("\t\t\t\t\t\t}\r\n");
|
|
|
-/* 257 */ sb.append("\t\t\t\t\t\tthis.edit = true;\r\n");
|
|
|
-/* 258 */ sb.append("\t\t\t\t\t\tthis.$message.success(this.edit ? '淇濆瓨鎴愬姛' : '鍒涘缓鎴愬姛');\r\n");
|
|
|
-/* 259 */ sb.append("\t\t\t\t\t} else {\r\n");
|
|
|
-/* 260 */ sb.append("\t\t\t\t\t\tthis.$message.error(this.edit ? '淇濆瓨澶辫触' : '鍒涘缓澶辫触');\r\n");
|
|
|
-/* 261 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 262 */ sb.append("\t\t\t\t}.bind(this))\r\n");
|
|
|
-/* 263 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 265 */ sb.append("\t\t}\r\n");
|
|
|
-/* 266 */ sb.append("\t})\r\n");
|
|
|
-/* 267 */ sb.append("</script>\r\n");
|
|
|
-/* 268 */ sb.append("</html>\r\n");
|
|
|
-/* */
|
|
|
-/* 271 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createJspByPageFile(TableParams tableParams, String pkName, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 278 */ String jspByPageContent = parseJspByPage(tableParams.getTabelName(), pkName, colnames);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 281 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 283 */ String fileName = directory.getAbsolutePath() + "/" + changeToFolder(tableParams.getJspTargetPackage()) + StringUtil.underlineToCamel(tableParams.getTabelName()) + "s.jsp";
|
|
|
-/* 284 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 285 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 286 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 287 */ pw.println(jspByPageContent);
|
|
|
-/* 288 */ pw.flush();
|
|
|
-/* 289 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 291 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseJspByPage(String tabelName, String pkName, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 297 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 300 */ String downTableName = StringUtil.underlineToCamel(tabelName);
|
|
|
-/* */
|
|
|
-/* 303 */ sb.append("<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>\r\n");
|
|
|
-/* 304 */ sb.append("<html>\r\n");
|
|
|
-/* */
|
|
|
-/* 306 */ sb.append("<head>\r\n");
|
|
|
-/* 307 */ sb.append("\t<jsp:include page=\"head.jsp\"/>\r\n");
|
|
|
-/* */
|
|
|
-/* 310 */ sb.append("\t<title>zouma.frame</title>\r\n");
|
|
|
-/* */
|
|
|
-/* 312 */ sb.append("</head>\r\n");
|
|
|
-/* */
|
|
|
-/* 314 */ sb.append("<body>\r\n");
|
|
|
-/* */
|
|
|
-/* 316 */ sb.append("<jsp:include page=\"contentBefore.jsp\"/>\r\n");
|
|
|
-/* 317 */ sb.append("<template>\r\n");
|
|
|
-/* */
|
|
|
-/* 319 */ sb.append("\t<div class=\"filters\">\r\n");
|
|
|
-/* 320 */ sb.append("\t\t<el-button type=\"primary\" @click=\"create()\">鍒涘缓</el-button>\r\n");
|
|
|
-/* 321 */ sb.append("\t\t<div class=\"num\"> 鍏眥{totalNumber}}鏍囩</div>\r\n");
|
|
|
-/* 322 */ sb.append("\t</div>\r\n");
|
|
|
-/* 323 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 325 */ sb.append("\t<el-table :data=\"rows\"\r\n");
|
|
|
-/* 326 */ sb.append("\t\t\tref=\"table\"\r\n");
|
|
|
-/* 327 */ sb.append("\t\t\tstyle=\"width: 100%\"\r\n");
|
|
|
-/* 328 */ sb.append("\t\t\telement-loading-text=\"鎷煎懡鍔犺浇涓璡\"\r\n");
|
|
|
-/* 329 */ sb.append("\t\t\tstripe\r\n");
|
|
|
-/* 330 */ sb.append("\t\t\tv-loading=\"loading\">\r\n");
|
|
|
-/* */
|
|
|
-/* 332 */ sb.append("\t\t\t<el-table-column\r\n");
|
|
|
-/* 333 */ sb.append("\t\t\t\ttype=\"index\"\r\n");
|
|
|
-/* 334 */ sb.append("\t\t\t\twidth=\"70\"\r\n");
|
|
|
-/* 335 */ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
-/* 336 */ sb.append("\t\t\t</el-table-column>\r\n");
|
|
|
-/* */
|
|
|
-/* 338 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 340 */ if (!pkName.equalsIgnoreCase(colnames[i]))
|
|
|
-/* */ {
|
|
|
-/* 342 */ sb.append("\t\t<el-table-column\r\n");
|
|
|
-/* 343 */ sb.append("\t\t\t\tprop=\"" + StringUtil.underlineToCamel(colnames[i]) + "\"\r\n");
|
|
|
-/* 344 */ sb.append("\t\t\t\tlabel=\"" + StringUtil.underlineToCamel(colnames[i]) + "\"\r\n");
|
|
|
-/* 345 */ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
-/* 346 */ sb.append("\t\t</el-table-column>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 352 */ sb.append("\t\t<el-table-column\r\n");
|
|
|
-/* 353 */ sb.append("\t\t\t\t:context=\"_self\"\r\n");
|
|
|
-/* 354 */ sb.append("\t\t\t\twidth=\"150\"\r\n");
|
|
|
-/* 355 */ sb.append("\t\t\t\tinline-template\r\n");
|
|
|
-/* 356 */ sb.append("\t\t\t\tlabel=\"鎿嶄綔\"\r\n");
|
|
|
-/* 357 */ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
-/* 358 */ sb.append("\t\t\t<div>\r\n");
|
|
|
-/* 359 */ sb.append("\t\t\t\t<el-button size=\"small\" @click=\"editRow(row)\">缂栬緫</el-button>\r\n");
|
|
|
-/* 360 */ sb.append("\t\t\t\t<el-button size=\"small\" type=\"danger\" @click=\"deleteRow(row)\">鍒犻櫎</el-button>\r\n");
|
|
|
-/* 361 */ sb.append("\t\t\t</div>\r\n");
|
|
|
-/* 362 */ sb.append("\t\t</el-table-column>\r\n");
|
|
|
-/* */
|
|
|
-/* 364 */ sb.append("\t</el-table>\r\n");
|
|
|
-/* */
|
|
|
-/* 366 */ sb.append("\t<div class=\"pagination-wrapper\" v-show=\"!loading\">\r\n");
|
|
|
-/* 367 */ sb.append("\t\t<el-pagination layout=\"sizes, prev, pager, next\" :page-size=\"pageSize\" :total=\"totalNumber\"\r\n");
|
|
|
-/* 368 */ sb.append("\t\t\t\t\t:page-size=\"pageSize\"\r\n");
|
|
|
-/* 369 */ sb.append("\t\t\t\t\t:current-page=\"currentPage\" @current-change=\"pageChange\" @size-change=\"sizeChange\">\r\n");
|
|
|
-/* 370 */ sb.append("\t\t</el-pagination>\r\n");
|
|
|
-/* 371 */ sb.append("\t</div>\r\n");
|
|
|
-/* */
|
|
|
-/* 373 */ sb.append("</template>\r\n");
|
|
|
-/* */
|
|
|
-/* 376 */ sb.append("<jsp:include page=\"contentAfter.jsp\"/>\r\n");
|
|
|
-/* 377 */ sb.append("</body>\r\n");
|
|
|
-/* */
|
|
|
-/* 380 */ sb.append("<script>\r\n");
|
|
|
-/* */
|
|
|
-/* 382 */ sb.append("\tfunction getQueryString(name) {\r\n");
|
|
|
-/* 383 */ sb.append("\t\tvar reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\", \"i\");\r\n");
|
|
|
-/* 384 */ sb.append("\t\tvar r = window.location.search.substr(1).match(reg);\r\n");
|
|
|
-/* 385 */ sb.append("\t\tif (r != null) return unescape(r[2]);\r\n");
|
|
|
-/* 386 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 387 */ sb.append("\t}\r\n");
|
|
|
-/* */
|
|
|
-/* 389 */ sb.append("\tnew Vue({\r\n");
|
|
|
-/* 390 */ sb.append("\t\tel: '#app',\r\n");
|
|
|
-/* 391 */ sb.append("\t\tcreated: function () {\r\n");
|
|
|
-/* 392 */ sb.append("\t\t\tthis.getRows();\r\n");
|
|
|
-/* 393 */ sb.append("\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 395 */ sb.append("\t\tdata: function () {\r\n");
|
|
|
-/* 396 */ sb.append("\t\t\treturn {\r\n");
|
|
|
-/* 397 */ sb.append("\t\t\t\tmenu: '0-0',\r\n");
|
|
|
-/* 398 */ sb.append("\t\t\t\tuser: {\r\n");
|
|
|
-/* 399 */ sb.append("\t\t\t\t\tid: '',\n\r\n");
|
|
|
-/* 400 */ sb.append("\t\t\t\t\tusername: 'admin',\r\n");
|
|
|
-/* 401 */ sb.append("\t\t\t\t\tavatar: ''\r\n");
|
|
|
-/* 402 */ sb.append("\t\t\t\t},\r\n");
|
|
|
-/* 403 */ sb.append("\t\t\t\tloading: false,\r\n");
|
|
|
-/* 404 */ sb.append("\t\t\t\ttotalNumber: 0,\r\n");
|
|
|
-/* 405 */ sb.append("\t\t\t\ttotalPage: 10,\r\n");
|
|
|
-/* 406 */ sb.append("\t\t\t\tcurrentPage: 1,\r\n");
|
|
|
-/* 407 */ sb.append("\t\t\t\tpageSize: 20,\r\n");
|
|
|
-/* 408 */ sb.append("\t\t\t\trows: []\r\n");
|
|
|
-/* 409 */ sb.append("\t\t\t};\r\n");
|
|
|
-/* 410 */ sb.append("\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 413 */ sb.append("\t\tmethods: {\r\n");
|
|
|
-/* 414 */ sb.append("\t\t\tlogout: function () {\r\n");
|
|
|
-/* 415 */ sb.append("\t\t\t\tthis.$confirm('纭畾瑕佹敞閿�鍚�?', '鎻愮ず', {\r\n");
|
|
|
-/* 416 */ sb.append("\t\t\t\t\tconfirmButtonText: '纭畾',\r\n");
|
|
|
-/* 417 */ sb.append("\t\t\t\t\tcancelButtonText: '鍙栨秷',\r\n");
|
|
|
-/* 418 */ sb.append("\t\t\t\t\ttype: 'info'\r\n");
|
|
|
-/* 419 */ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
-/* 420 */ sb.append("\t\t\t\t\tlocalStorage.removeItem('user');\r\n");
|
|
|
-/* 421 */ sb.append("\t\t\t\t\tthis.$router.push({path: '/login'});\r\n");
|
|
|
-/* 422 */ sb.append("\t\t\t\t}.bind(this)).catch(function (e) {\r\n");
|
|
|
-/* 423 */ sb.append("\r\n");
|
|
|
-/* 424 */ sb.append("\t\t\t\t});\r\n");
|
|
|
-/* 425 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 427 */ sb.append("\t\t\tgetRows: function () {\r\n");
|
|
|
-/* 428 */ sb.append("\t\t\t\t$.get({\r\n");
|
|
|
-/* 429 */ sb.append("\t\t\t\t\turl: '../" + downTableName + "/page',\r\n");
|
|
|
-/* 430 */ sb.append("\t\t\t\t\tdata: {\r\n");
|
|
|
-/* 431 */ sb.append("\t\t\t\t\t\tcurrentPage: this.currentPage,\r\n");
|
|
|
-/* 432 */ sb.append("\t\t\t\t\t\tpageNumber: this.pageSize\r\n");
|
|
|
-/* 433 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 434 */ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
-/* 435 */ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
-/* 436 */ sb.append("\t\t\t\t\t\tthis.totalNumber = res.data.page.totalNumber;\r\n");
|
|
|
-/* 437 */ sb.append("\t\t\t\t\t\tthis.rows = res.data.pp;\r\n");
|
|
|
-/* 438 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 439 */ sb.append("\t\t\t\t}.bind(this))\r\n");
|
|
|
-/* 440 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 443 */ sb.append("\t\t\tpageChange: function (page) {\r\n");
|
|
|
-/* 444 */ sb.append("\t\t\t\tthis.currentPage = page;\r\n");
|
|
|
-/* 445 */ sb.append("\t\t\t\tthis.getRows();\r\n");
|
|
|
-/* 446 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 448 */ sb.append("\t\t\tsizeChange: function (size) {\r\n");
|
|
|
-/* 449 */ sb.append("\t\t\t\tthis.pageSize = size;\r\n");
|
|
|
-/* 450 */ sb.append("\t\t\t\tthis.getRows();\r\n");
|
|
|
-/* 451 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 453 */ sb.append("\t\t\teditRow: function (row) {\r\n");
|
|
|
-/* 454 */ sb.append("\t\t\t\twindow.location = '" + downTableName + "?" + StringUtil.underlineToCamel(pkName) + "=' + row." + StringUtil.underlineToCamel(pkName) + ";\r\n");
|
|
|
-/* 455 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 458 */ sb.append("\t\t\tdeleteRow: function (row) {\r\n");
|
|
|
-/* 459 */ sb.append("\t\t\t\tthis.$confirm('纭畾瑕佸垹闄ゅ悧?', '鎻愮ず', {\r\n");
|
|
|
-/* 460 */ sb.append("\t\t\t\t\tconfirmButtonText: '鍒犻櫎',\r\n");
|
|
|
-/* 461 */ sb.append("\t\t\t\t\tcancelButtonText: '鍙栨秷',\r\n");
|
|
|
-/* 462 */ sb.append("\t\t\t\t\ttype: 'warning'\r\n");
|
|
|
-/* 463 */ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
-/* 464 */ sb.append("\t\t\t\t\treturn $.post({\r\n");
|
|
|
-/* 465 */ sb.append("\t\t\t\t\t\turl: '../" + downTableName + "/del',\r\n");
|
|
|
-/* 466 */ sb.append("\t\t\t\t\t\tdata: {\r\n");
|
|
|
-/* 467 */ sb.append("\t\t\t\t\t\t\t" + StringUtil.underlineToCamel(pkName) + ": row." + StringUtil.underlineToCamel(pkName) + "\r\n");
|
|
|
-/* 468 */ sb.append("\t\t\t\t\t\t}\r\n");
|
|
|
-/* 469 */ sb.append("\t\t\t\t\t})\r\n");
|
|
|
-/* 470 */ sb.append("\t\t\t\t}.bind(this)).then(function (res) {\r\n");
|
|
|
-/* 471 */ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
-/* 472 */ sb.append("\t\t\t\t\t\tthis.$message.success('鍒犻櫎鎴愬姛');\r\n");
|
|
|
-/* 473 */ sb.append("\t\t\t\t\t\tthis.getRows();\r\n");
|
|
|
-/* 474 */ sb.append("\t\t\t\t\t} else {\r\n");
|
|
|
-/* 475 */ sb.append("\t\t\t\t\t\tthis.$message.error('鍒犻櫎澶辫触');\r\n");
|
|
|
-/* 476 */ sb.append("\t\t\t\t\t}\r\n");
|
|
|
-/* 477 */ sb.append("\t\t\t\t}.bind(this)).catch(function () {\r\n");
|
|
|
-/* 478 */ sb.append("\r\n");
|
|
|
-/* 479 */ sb.append("\t\t\t\t});\r\n");
|
|
|
-/* 480 */ sb.append("\t\t\t},\r\n");
|
|
|
-/* */
|
|
|
-/* 483 */ sb.append("\t\t\tcreate: function () {\r\n");
|
|
|
-/* 484 */ sb.append("\t\t\t\twindow.location = '" + downTableName + "';\r\n");
|
|
|
-/* 485 */ sb.append("\t\t\t}\r\n");
|
|
|
-/* */
|
|
|
-/* 488 */ sb.append("\t\t}\r\n");
|
|
|
-/* 489 */ sb.append("\t})\r\n");
|
|
|
-/* 490 */ sb.append("</script>\r\n");
|
|
|
-/* 491 */ sb.append("</html>\r\n");
|
|
|
-/* */
|
|
|
-/* 494 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createDaoClassFile(TableParams tableParams)
|
|
|
-/* */ {
|
|
|
-/* 500 */ String daoClassContent = parseDaoClass(tableParams);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 503 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 505 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getDaoTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Mapper.java";
|
|
|
-/* 506 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 507 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 508 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 509 */ pw.println(daoClassContent);
|
|
|
-/* 510 */ pw.flush();
|
|
|
-/* 511 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 513 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseDaoClass(TableParams tableParams)
|
|
|
-/* */ {
|
|
|
-/* 519 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 522 */ sb.append("package " + tableParams.getDaoTargetPackage() + ";\r\n");
|
|
|
-/* 523 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 525 */ sb.append("import java.util.List;\r\n");
|
|
|
-/* 526 */ sb.append("import java.util.Map;\r\n");
|
|
|
-/* */
|
|
|
-/* 529 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 531 */ sb.append("import org.springframework.stereotype.Repository;\r\n");
|
|
|
-/* */
|
|
|
-/* 533 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 535 */ sb.append("import " + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + ";\r\n");
|
|
|
-/* 536 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 538 */ sb.append("/**\r\n");
|
|
|
-/* 539 */ sb.append(" * " + tableParams.getTabelName() + " Dao鎺ュ彛\r\n");
|
|
|
-/* 540 */ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
-/* 541 */ sb.append(" */ \r\n");
|
|
|
-/* */
|
|
|
-/* 544 */ sb.append("@Repository(\"" + tableParams.getDaoTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "Mapper\")\r\n");
|
|
|
-/* */
|
|
|
-/* 547 */ sb.append("public interface " + StringUtil.initcap(tableParams.getTabelName()) + "Mapper {\r\n");
|
|
|
-/* */
|
|
|
-/* 549 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 552 */ sb.append("\tint deleteByPrimaryKey(Integer id);\r\n");
|
|
|
-/* 553 */ sb.append("\r\n");
|
|
|
-/* 554 */ sb.append("\tint insertSelective(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 555 */ sb.append("\r\n");
|
|
|
-/* 556 */ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " selectByPrimaryKey(Integer id);\r\n");
|
|
|
-/* 557 */ sb.append("\r\n");
|
|
|
-/* 558 */ sb.append("\tint updateByPrimaryKeySelective(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 559 */ sb.append("\r\n");
|
|
|
-/* 560 */ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> queryAll" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 561 */ sb.append("\r\n");
|
|
|
-/* 562 */ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> query" + StringUtil.initcap(tableParams.getTabelName()) + "sByPage(Map <String, Object> parameter);\r\n");
|
|
|
-/* 563 */ sb.append("\r\n");
|
|
|
-/* 564 */ sb.append("\tint delete(String id);\r\n");
|
|
|
-/* 565 */ sb.append("\r\n");
|
|
|
-/* 566 */ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " query" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* */
|
|
|
-/* 569 */ sb.append("}\r\n");
|
|
|
-/* */
|
|
|
-/* 572 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createDaoXmlFile(TableParams tableParams, String[] colnames, String[] colTypes, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 585 */ String daoXmlContent = parseDaoXml(colnames, colTypes, tableParams, pkName);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 588 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 590 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getDaoTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Mapper.xml";
|
|
|
-/* 591 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 592 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 593 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 594 */ pw.println(daoXmlContent);
|
|
|
-/* 595 */ pw.flush();
|
|
|
-/* 596 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 598 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseDaoXml(String[] colnames, String[] colTypes, TableParams tableParams, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 612 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 615 */ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n");
|
|
|
-/* 616 */ sb.append("<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\" >\r\n");
|
|
|
-/* */
|
|
|
-/* 618 */ sb.append("<mapper namespace=\"" + tableParams.getDaoTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "Mapper\" >\r\n");
|
|
|
-/* */
|
|
|
-/* 621 */ parseDaoBaseResultMap(sb, colnames, colTypes, pkName, tableParams);
|
|
|
-/* 622 */ parseDaoBaseColumnList(sb, colnames);
|
|
|
-/* 623 */ parseDaoSelectByPrimaryKey(sb, pkName, tableParams.getTabelName());
|
|
|
-/* 624 */ parseDaoDeleteByPrimaryKey(sb, pkName, tableParams.getTabelName());
|
|
|
-/* 625 */ parseDaoInsertSelective(sb, pkName, tableParams, colnames, colTypes);
|
|
|
-/* 626 */ parseDaoUpdateByPrimaryKeySelective(sb, pkName, tableParams, colnames, colTypes);
|
|
|
-/* 627 */ parseDaoQueryByPage(sb, pkName, tableParams, colnames);
|
|
|
-/* 628 */ parseDaoQueryAll(sb, pkName, tableParams, colnames);
|
|
|
-/* 629 */ parseDaoQueryOne(sb, tableParams, colnames);
|
|
|
-/* 630 */ parseDaoDelete(sb, tableParams.getTabelName(), pkName);
|
|
|
-/* */
|
|
|
-/* 632 */ sb.append("</mapper>\r\n");
|
|
|
-/* 633 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoDelete(StringBuffer sb, String tabelName, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 644 */ sb.append("\t<update id=\"delete\">\r\n");
|
|
|
-/* 645 */ sb.append("\t\tUPDATE " + tabelName + " SET del_flag = 'Y'\r\n");
|
|
|
-/* 646 */ sb.append("\t\t<where>\r\n");
|
|
|
-/* 647 */ sb.append("\t\t\tAND " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + "}\r\n");
|
|
|
-/* 648 */ sb.append("\t\t</where>\r\n");
|
|
|
-/* 649 */ sb.append("\t</update>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoQueryOne(StringBuffer sb, TableParams tableParams, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 661 */ sb.append("\t<select id=\"query" + StringUtil.initcap(tableParams.getTabelName()) + "\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
-/* 662 */ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
-/* 663 */ sb.append("\t\t<where>\r\n");
|
|
|
-/* 664 */ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
-/* */
|
|
|
-/* 667 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 670 */ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(" + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
-/* 671 */ sb.append("\t\t\t\tand " + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
-/* 672 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 677 */ sb.append("\t\t</where>\r\n");
|
|
|
-/* 678 */ sb.append("\t\tLIMIT 1\r\n");
|
|
|
-/* 679 */ sb.append("\t</select>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoQueryAll(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 692 */ sb.append("\t<select id=\"queryAll" + StringUtil.initcap(tableParams.getTabelName()) + "\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
-/* 693 */ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
-/* 694 */ sb.append("\t\t<where>\r\n");
|
|
|
-/* 695 */ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
-/* */
|
|
|
-/* 698 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 701 */ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(" + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
-/* 702 */ sb.append("\t\t\t\tand " + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
-/* 703 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 708 */ sb.append("\t\t</where>\r\n");
|
|
|
-/* 709 */ sb.append("\t\torder by " + pkName + " desc\r\n");
|
|
|
-/* 710 */ sb.append("\t</select>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoQueryByPage(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 723 */ sb.append("\t<select id=\"query" + StringUtil.initcap(tableParams.getTabelName()) + "sByPage\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
-/* 724 */ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
-/* 725 */ sb.append("\t\t<where>\r\n");
|
|
|
-/* 726 */ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
-/* */
|
|
|
-/* 729 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 732 */ sb.append("\t\t\t<if test=\"record." + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(record." + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
-/* 733 */ sb.append("\t\t\t\tand " + colnames[i] + " = #{record." + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
-/* 734 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 739 */ sb.append("\t\t</where>\r\n");
|
|
|
-/* 740 */ sb.append("\t\torder by " + pkName + " desc\r\n");
|
|
|
-/* 741 */ sb.append("\t</select>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoUpdateByPrimaryKeySelective(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames, String[] colTypes)
|
|
|
-/* */ {
|
|
|
-/* 755 */ sb.append("\t<update id=\"updateByPrimaryKeySelective\" parameterType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" >\r\n");
|
|
|
-/* 756 */ sb.append("\t\tupdate " + tableParams.getTabelName() + "\r\n");
|
|
|
-/* 757 */ sb.append("\t\t<set >\r\n");
|
|
|
-/* */
|
|
|
-/* 760 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 762 */ if (!pkName.equalsIgnoreCase(colnames[i]))
|
|
|
-/* */ {
|
|
|
-/* 764 */ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
-/* 765 */ sb.append("\t\t\t\t" + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + ",jdbcType=" + StringUtil.sqlType2JdbcType(colTypes[i]) + "},\t\n");
|
|
|
-/* 766 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 771 */ sb.append("\t\t</set>\r\n");
|
|
|
-/* 772 */ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
-/* 773 */ sb.append("\t</update>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoInsertSelective(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames, String[] colTypes)
|
|
|
-/* */ {
|
|
|
-/* 786 */ sb.append("\t<insert id=\"insertSelective\" parameterType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" useGeneratedKeys=\"true\" keyProperty=\"" + StringUtil.underlineToCamel(pkName) + "\">\r\n");
|
|
|
-/* 787 */ sb.append("\t\tinsert into " + tableParams.getTabelName() + "\r\n");
|
|
|
-/* 788 */ sb.append("\t\t<trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\" >\r\n");
|
|
|
-/* */
|
|
|
-/* 791 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 793 */ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
-/* 794 */ sb.append("\t\t\t\t" + colnames[i] + ",\t\n");
|
|
|
-/* 795 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 799 */ sb.append("\t\t</trim>\r\n");
|
|
|
-/* 800 */ sb.append("\t\t<trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\" >\r\n");
|
|
|
-/* 801 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 803 */ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
-/* 804 */ sb.append("\t\t\t\t#{" + StringUtil.underlineToCamel(colnames[i]) + ",jdbcType=" + StringUtil.sqlType2JdbcType(colTypes[i]) + "},\t\n");
|
|
|
-/* 805 */ sb.append("\t\t\t</if>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 809 */ sb.append("\t\t</trim>\r\n");
|
|
|
-/* 810 */ sb.append("\t</insert>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoDeleteByPrimaryKey(StringBuffer sb, String pkName, String tabelName)
|
|
|
-/* */ {
|
|
|
-/* 823 */ sb.append("\t<delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Integer\" >\r\n");
|
|
|
-/* 824 */ sb.append("\t\tdelete from " + tabelName + "\r\n");
|
|
|
-/* 825 */ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
-/* 826 */ sb.append("\t</delete>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoSelectByPrimaryKey(StringBuffer sb, String pkName, String tabelName)
|
|
|
-/* */ {
|
|
|
-/* 837 */ sb.append("\t<select id=\"selectByPrimaryKey\" resultMap=\"BaseResultMap\" parameterType=\"java.lang.Integer\" >\r\n");
|
|
|
-/* 838 */ sb.append("\t\tselect\r\n");
|
|
|
-/* 839 */ sb.append("\t\t<include refid=\"Base_Column_List\" />\r\n");
|
|
|
-/* 840 */ sb.append("\t\tfrom " + tabelName + "\r\n");
|
|
|
-/* 841 */ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
-/* 842 */ sb.append("\t</select>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoBaseColumnList(StringBuffer sb, String[] colnames)
|
|
|
-/* */ {
|
|
|
-/* 854 */ sb.append("\t<sql id=\"Base_Column_List\" >\r\n");
|
|
|
-/* 855 */ sb.append("\t\t");
|
|
|
-/* 856 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 859 */ if (i == colnames.length - 1)
|
|
|
-/* */ {
|
|
|
-/* 861 */ sb.append(" " + colnames[i] + "\r\n");
|
|
|
-/* */ }
|
|
|
-/* */ else {
|
|
|
-/* 864 */ sb.append(" " + colnames[i] + ",");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 869 */ sb.append("\t</sql>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void parseDaoBaseResultMap(StringBuffer sb, String[] colnames, String[] colTypes, String pkName, TableParams tableParams)
|
|
|
-/* */ {
|
|
|
-/* 883 */ sb.append("\t<resultMap id=\"BaseResultMap\" type=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" >\r\n");
|
|
|
-/* 884 */ sb.append("\t\t<id column=\"" + pkName + "\" property=\"" + StringUtil.underlineToCamel(pkName) + "\" jdbcType=\"INTEGER\" />\r\n");
|
|
|
-/* 885 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* */ {
|
|
|
-/* 887 */ if (!pkName.equalsIgnoreCase(colnames[i]))
|
|
|
-/* */ {
|
|
|
-/* 889 */ sb.append("\t\t<result column=\"" + colnames[i] + "\" property=\"" + StringUtil.underlineToCamel(colnames[i]) + "\" jdbcType=\"" + StringUtil.sqlType2JdbcType(colTypes[i]) + "\" />\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 894 */ sb.append("\t</resultMap>\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createServiceFile(TableParams tableParams, String pkName) {
|
|
|
-/* 898 */ String serviceContent = parseService(tableParams, pkName);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 901 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 903 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getServiceTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Service.java";
|
|
|
-/* 904 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 905 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 906 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 907 */ pw.println(serviceContent);
|
|
|
-/* 908 */ pw.flush();
|
|
|
-/* 909 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 911 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseService(TableParams tableParams, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 917 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 920 */ sb.append("package " + tableParams.getServiceTargetPackage() + ";\r\n");
|
|
|
-/* 921 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 923 */ sb.append("import java.util.List;\r\n");
|
|
|
-/* */
|
|
|
-/* 925 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 927 */ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
-/* 928 */ sb.append("import " + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + ";\r\n");
|
|
|
-/* */
|
|
|
-/* 930 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 933 */ sb.append("/**\r\n");
|
|
|
-/* 934 */ sb.append(" * " + tableParams.getTabelName() + " service鎺ュ彛绫籠r\n");
|
|
|
-/* 935 */ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
-/* 936 */ sb.append(" */ \r\n");
|
|
|
-/* */
|
|
|
-/* 939 */ sb.append("public interface " + StringUtil.initcap(tableParams.getTabelName()) + "Service {\r\n");
|
|
|
-/* 940 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 943 */ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> get" + StringUtil.initcap(tableParams.getTabelName()) + "List(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 944 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 946 */ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> get" + StringUtil.initcap(tableParams.getTabelName()) + "ByPage(Page page, " + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 947 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 949 */ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " get" + StringUtil.initcap(tableParams.getTabelName()) + "ById(String " + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
-/* 950 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 952 */ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " get" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 953 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 955 */ sb.append("\tboolean create" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 956 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 958 */ sb.append("\tboolean delete" + StringUtil.initcap(tableParams.getTabelName()) + "(String " + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
-/* 959 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 961 */ sb.append("\tboolean update" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
-/* 962 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 964 */ sb.append("}\r\n");
|
|
|
-/* */
|
|
|
-/* 966 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createServiceImplFile(TableParams tableParams, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 971 */ String serviceImplContent = parseServiceImpl(tableParams, pkName);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 974 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 976 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getImplTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "ServiceImpl.java";
|
|
|
-/* 977 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 978 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 979 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 980 */ pw.println(serviceImplContent);
|
|
|
-/* 981 */ pw.flush();
|
|
|
-/* 982 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 984 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseServiceImpl(TableParams tableParams, String pkName) {
|
|
|
-/* 989 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 991 */ String upTableName = StringUtil.initcap(tableParams.getTabelName());
|
|
|
-/* 992 */ String downTableName = StringUtil.underlineToCamel(tableParams.getTabelName());
|
|
|
-/* */
|
|
|
-/* 994 */ sb.append("package " + tableParams.getImplTargetPackage() + ";\r\n");
|
|
|
-/* 995 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 997 */ sb.append("import java.util.HashMap;\r\n");
|
|
|
-/* 998 */ sb.append("import java.util.List;\r\n");
|
|
|
-/* 999 */ sb.append("import java.util.Map;\r\n");
|
|
|
-/* */
|
|
|
-/* 1001 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1003 */ sb.append("import org.apache.log4j.Logger;\r\n");
|
|
|
-/* 1004 */ sb.append("import org.springframework.beans.factory.annotation.Autowired;\r\n");
|
|
|
-/* 1005 */ sb.append("import org.springframework.stereotype.Service;\r\n");
|
|
|
-/* 1006 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1009 */ sb.append("import " + tableParams.getBasePackage() + ".constant.AppConstant;\r\n");
|
|
|
-/* 1010 */ sb.append("import " + tableParams.getDaoTargetPackage() + "." + upTableName + "Mapper;\r\n");
|
|
|
-/* 1011 */ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
-/* 1012 */ sb.append("import " + tableParams.getModelTargetPackage() + "." + upTableName + ";\r\n");
|
|
|
-/* 1013 */ sb.append("import " + tableParams.getServiceTargetPackage() + "." + upTableName + "Service;\r\n");
|
|
|
-/* */
|
|
|
-/* 1015 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1018 */ sb.append("/**\r\n");
|
|
|
-/* 1019 */ sb.append(" * " + tableParams.getTabelName() + " service鎺ュ彛瀹炵幇绫籠r\n");
|
|
|
-/* 1020 */ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
-/* 1021 */ sb.append(" */ \r\n");
|
|
|
-/* */
|
|
|
-/* 1024 */ sb.append("@Service\r\n");
|
|
|
-/* 1025 */ sb.append("public class " + upTableName + "ServiceImpl implements " + upTableName + "Service {\r\n");
|
|
|
-/* 1026 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1030 */ sb.append("\tprivate static Logger logger = Logger.getLogger(" + upTableName + "ServiceImpl.class);\r\n");
|
|
|
-/* 1031 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1035 */ sb.append("\t@Autowired\r\n");
|
|
|
-/* 1036 */ sb.append("\tprivate " + upTableName + "Mapper " + downTableName + "Mapper;\r\n");
|
|
|
-/* 1037 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1041 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1042 */ sb.append("\tpublic List <" + upTableName + "> get" + upTableName + "List(" + upTableName + " record) {\r\n");
|
|
|
-/* 1043 */ sb.append("\r\n");
|
|
|
-/* 1044 */ sb.append("\t\tlogger.info(\"get" + upTableName + "List\");\r\n");
|
|
|
-/* 1045 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1046 */ sb.append("\r\n");
|
|
|
-/* 1047 */ sb.append("\t\t\treturn " + downTableName + "Mapper.queryAll" + upTableName + "(record);\r\n");
|
|
|
-/* 1048 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1049 */ sb.append("\t\t\tlogger.error(\"get" + upTableName + "List\", e);\r\n");
|
|
|
-/* 1050 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1051 */ sb.append("\r\n");
|
|
|
-/* 1052 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 1053 */ sb.append("\t}\r\n");
|
|
|
-/* 1054 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1057 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1058 */ sb.append("\tpublic List <" + upTableName + "> get" + upTableName + "ByPage(Page page, " + upTableName + " record) {\r\n");
|
|
|
-/* 1059 */ sb.append("\r\n");
|
|
|
-/* 1060 */ sb.append("\t\tlogger.info(\"get" + upTableName + "ByPage\");\r\n");
|
|
|
-/* 1061 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1062 */ sb.append("\r\n");
|
|
|
-/* 1063 */ sb.append("\t\t\tMap <String, Object> parameter = new HashMap <String, Object>();\r\n");
|
|
|
-/* 1064 */ sb.append("\t\t\tparameter.put(\"record\", record);\r\n");
|
|
|
-/* 1065 */ sb.append("\t\t\tparameter.put(AppConstant.PAGE, page);\r\n");
|
|
|
-/* 1066 */ sb.append("\r\n");
|
|
|
-/* 1067 */ sb.append("\t\t\treturn " + downTableName + "Mapper.query" + upTableName + "sByPage(parameter);\r\n");
|
|
|
-/* 1068 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1069 */ sb.append("\t\t\tlogger.error(\"get" + upTableName + "ByPage\", e);\r\n");
|
|
|
-/* 1070 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1071 */ sb.append("\r\n");
|
|
|
-/* 1072 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 1073 */ sb.append("\t}\r\n");
|
|
|
-/* 1074 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1078 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1079 */ sb.append("\tpublic " + upTableName + " get" + upTableName + "ById(String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
-/* 1080 */ sb.append("\r\n");
|
|
|
-/* 1081 */ sb.append("\t\tlogger.info(\"get" + upTableName + "ById\");\r\n");
|
|
|
-/* 1082 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1083 */ sb.append("\r\n");
|
|
|
-/* 1084 */ sb.append("\t\t\treturn " + downTableName + "Mapper.selectByPrimaryKey(Integer.valueOf(" + StringUtil.underlineToCamel(pkName) + "));\r\n");
|
|
|
-/* 1085 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1086 */ sb.append("\t\t\tlogger.error(\"get" + upTableName + "ById\", e);\r\n");
|
|
|
-/* 1087 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1088 */ sb.append("\r\n");
|
|
|
-/* 1089 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 1090 */ sb.append("\t}\r\n");
|
|
|
-/* 1091 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1095 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1096 */ sb.append("\tpublic " + upTableName + " get" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
-/* 1097 */ sb.append("\r\n");
|
|
|
-/* 1098 */ sb.append("\t\tlogger.info(\"get" + upTableName + "\");\r\n");
|
|
|
-/* 1099 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1100 */ sb.append("\r\n");
|
|
|
-/* 1101 */ sb.append("\t\t\treturn " + downTableName + "Mapper.query" + upTableName + "(record);\r\n");
|
|
|
-/* 1102 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1103 */ sb.append("\t\t\tlogger.error(\"get" + upTableName + "\", e);\r\n");
|
|
|
-/* 1104 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1105 */ sb.append("\r\n");
|
|
|
-/* 1106 */ sb.append("\t\treturn null;\r\n");
|
|
|
-/* 1107 */ sb.append("\t}\r\n");
|
|
|
-/* 1108 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1112 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1113 */ sb.append("\tpublic boolean create" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
-/* 1114 */ sb.append("\r\n");
|
|
|
-/* 1115 */ sb.append("\t\tlogger.info(\"create" + upTableName + "\");\r\n");
|
|
|
-/* 1116 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1117 */ sb.append("\r\n");
|
|
|
-/* 1118 */ sb.append("\t\t\tint updates = " + downTableName + "Mapper.insertSelective(record);\r\n");
|
|
|
-/* 1119 */ sb.append("\r\n");
|
|
|
-/* 1120 */ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
-/* 1121 */ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
-/* 1122 */ sb.append("\t\t\t}\r\n");
|
|
|
-/* 1123 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1124 */ sb.append("\t\t\tlogger.error(\"create" + upTableName + "\", e);\r\n");
|
|
|
-/* 1125 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1126 */ sb.append("\r\n");
|
|
|
-/* 1127 */ sb.append("\t\treturn false;\r\n");
|
|
|
-/* 1128 */ sb.append("\t}\r\n");
|
|
|
-/* 1129 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1133 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1134 */ sb.append("\tpublic boolean delete" + upTableName + "(String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
-/* 1135 */ sb.append("\r\n");
|
|
|
-/* 1136 */ sb.append("\t\tlogger.info(\"delete" + upTableName + "\");\r\n");
|
|
|
-/* 1137 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1138 */ sb.append("\r\n");
|
|
|
-/* 1139 */ sb.append("\t\t\tint updates = " + downTableName + "Mapper.delete(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
-/* 1140 */ sb.append("\r\n");
|
|
|
-/* 1141 */ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
-/* 1142 */ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
-/* 1143 */ sb.append("\t\t\t}\r\n");
|
|
|
-/* 1144 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1145 */ sb.append("\t\t\tlogger.error(\"delete" + upTableName + "\", e);\r\n");
|
|
|
-/* 1146 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1147 */ sb.append("\r\n");
|
|
|
-/* 1148 */ sb.append("\t\treturn false;\r\n");
|
|
|
-/* 1149 */ sb.append("\t}\r\n");
|
|
|
-/* 1150 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1154 */ sb.append("\t@Override\r\n");
|
|
|
-/* 1155 */ sb.append("\tpublic boolean update" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
-/* 1156 */ sb.append("\r\n");
|
|
|
-/* 1157 */ sb.append("\t\tlogger.info(\"update" + upTableName + "\");\r\n");
|
|
|
-/* 1158 */ sb.append("\t\ttry {\r\n");
|
|
|
-/* 1159 */ sb.append("\r\n");
|
|
|
-/* 1160 */ sb.append("\t\t\tint updates = " + downTableName + "Mapper.updateByPrimaryKeySelective(record);\r\n");
|
|
|
-/* 1161 */ sb.append("\r\n");
|
|
|
-/* 1162 */ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
-/* 1163 */ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
-/* 1164 */ sb.append("\t\t\t}\r\n");
|
|
|
-/* 1165 */ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
-/* 1166 */ sb.append("\t\t\tlogger.error(\"update" + upTableName + "\", e);\r\n");
|
|
|
-/* 1167 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1168 */ sb.append("\r\n");
|
|
|
-/* 1169 */ sb.append("\t\treturn false;\r\n");
|
|
|
-/* 1170 */ sb.append("\t}\r\n");
|
|
|
-/* 1171 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1173 */ sb.append("}\r\n");
|
|
|
-/* */
|
|
|
-/* 1175 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createControllerFile(TableParams tableParams, String pkName) {
|
|
|
-/* 1179 */ String controllerContent = parseController(tableParams, pkName);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 1182 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 1184 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getControllerTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Controller.java";
|
|
|
-/* 1185 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 1186 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 1187 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 1188 */ pw.println(controllerContent);
|
|
|
-/* 1189 */ pw.flush();
|
|
|
-/* 1190 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 1192 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static String parseController(TableParams tableParams, String pkName)
|
|
|
-/* */ {
|
|
|
-/* 1198 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 1200 */ String upTableName = StringUtil.initcap(tableParams.getTabelName());
|
|
|
-/* 1201 */ String downTableName = StringUtil.underlineToCamel(tableParams.getTabelName());
|
|
|
-/* */
|
|
|
-/* 1203 */ sb.append("package " + tableParams.getControllerTargetPackage() + ";\r\n");
|
|
|
-/* 1204 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1206 */ sb.append("import java.util.HashMap;\r\n");
|
|
|
-/* 1207 */ sb.append("import java.util.List;\r\n");
|
|
|
-/* 1208 */ sb.append("import java.util.Map;\r\n");
|
|
|
-/* */
|
|
|
-/* 1210 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1212 */ sb.append("import org.springframework.beans.factory.annotation.Autowired;\r\n");
|
|
|
-/* 1213 */ sb.append("import org.springframework.stereotype.Controller;\r\n");
|
|
|
-/* 1214 */ sb.append("import org.springframework.web.bind.annotation.RequestMapping;\r\n");
|
|
|
-/* 1215 */ sb.append("import org.springframework.web.bind.annotation.RequestMethod;\r\n");
|
|
|
-/* 1216 */ sb.append("import org.springframework.web.bind.annotation.RequestParam;\r\n");
|
|
|
-/* 1217 */ sb.append("import org.springframework.web.bind.annotation.ResponseBody;\r\n");
|
|
|
-/* 1218 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1221 */ sb.append("import " + tableParams.getBasePackage() + ".constant.AppConstant;\r\n");
|
|
|
-/* 1222 */ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
-/* 1223 */ sb.append("import " + tableParams.getBasePackage() + ".dto.Result;\r\n");
|
|
|
-/* 1224 */ sb.append("import " + tableParams.getModelTargetPackage() + "." + upTableName + ";\r\n");
|
|
|
-/* 1225 */ sb.append("import " + tableParams.getServiceTargetPackage() + "." + upTableName + "Service;\r\n");
|
|
|
-/* */
|
|
|
-/* 1227 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1230 */ sb.append("/**\r\n");
|
|
|
-/* 1231 */ sb.append(" * " + tableParams.getTabelName() + " controller绫籠r\n");
|
|
|
-/* 1232 */ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
-/* 1233 */ sb.append(" */ \r\n");
|
|
|
-/* */
|
|
|
-/* 1236 */ sb.append("@Controller\r\n");
|
|
|
-/* 1237 */ sb.append("@RequestMapping(\"/" + downTableName + "\")\r\n");
|
|
|
-/* 1238 */ sb.append("public class " + upTableName + "Controller extends BaseController {\r\n");
|
|
|
-/* 1239 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1243 */ sb.append("\t@Autowired\r\n");
|
|
|
-/* 1244 */ sb.append("\tprivate " + upTableName + "Service " + downTableName + "Service;\r\n");
|
|
|
-/* 1245 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1249 */ sb.append("\t/**\r\n");
|
|
|
-/* 1250 */ sb.append("\t * <p>鑾峰彇鍏ㄩ儴璁板綍銆�</p>\r\n");
|
|
|
-/* 1251 */ sb.append("\t */ \r\n");
|
|
|
-/* 1252 */ sb.append("\t@RequestMapping(value = \"/all\", method = RequestMethod.GET)\r\n");
|
|
|
-/* 1253 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1254 */ sb.append("\tpublic Result all(" + upTableName + " record) {\r\n");
|
|
|
-/* 1255 */ sb.append("\r\n");
|
|
|
-/* 1256 */ sb.append("\t\tList <" + upTableName + "> pp = " + downTableName + "Service.get" + upTableName + "List(record);\r\n");
|
|
|
-/* 1257 */ sb.append("\t\treturn new Result(true, pp);\r\n");
|
|
|
-/* 1258 */ sb.append("\t}\r\n");
|
|
|
-/* 1259 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1263 */ sb.append("\t/**\r\n");
|
|
|
-/* 1264 */ sb.append("\t * <p>鏍规嵁Id銆�</p>\r\n");
|
|
|
-/* 1265 */ sb.append("\t */ \r\n");
|
|
|
-/* 1266 */ sb.append("\t@RequestMapping(value = \"/get" + upTableName + "\", method = RequestMethod.GET)\r\n");
|
|
|
-/* 1267 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1268 */ sb.append("\tpublic Result get" + upTableName + "(@RequestParam(required = false, value = \"" + StringUtil.underlineToCamel(pkName) + "\") String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
-/* 1269 */ sb.append("\r\n");
|
|
|
-/* 1270 */ sb.append("\t\t" + upTableName + " data = " + downTableName + "Service.get" + upTableName + "ById(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
-/* 1271 */ sb.append("\t\treturn new Result(true, data);\r\n");
|
|
|
-/* 1272 */ sb.append("\t}\r\n");
|
|
|
-/* 1273 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1277 */ sb.append("\t/**\r\n");
|
|
|
-/* 1278 */ sb.append("\t * <p>鏍规嵁鏉′欢鑾峰彇銆�</p>\r\n");
|
|
|
-/* 1279 */ sb.append("\t */ \r\n");
|
|
|
-/* 1280 */ sb.append("\t@RequestMapping(value = \"/getOne\", method = RequestMethod.GET)\r\n");
|
|
|
-/* 1281 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1282 */ sb.append("\tpublic Result getOne(" + upTableName + " record) {\r\n");
|
|
|
-/* 1283 */ sb.append("\r\n");
|
|
|
-/* 1284 */ sb.append("\t\t" + upTableName + " data = " + downTableName + "Service.get" + upTableName + "(record);\r\n");
|
|
|
-/* 1285 */ sb.append("\t\treturn new Result(true, data);\r\n");
|
|
|
-/* 1286 */ sb.append("\t}\r\n");
|
|
|
-/* 1287 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1291 */ sb.append("\t/**\r\n");
|
|
|
-/* 1292 */ sb.append("\t * <p>鍒嗛〉鏌ヨ銆�</p>\r\n");
|
|
|
-/* 1293 */ sb.append("\t */ \r\n");
|
|
|
-/* 1294 */ sb.append("\t@RequestMapping(value = \"/page\", method = RequestMethod.GET)\r\n");
|
|
|
-/* 1295 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1296 */ sb.append("\tpublic Result page(Page page, " + upTableName + " record) {\r\n");
|
|
|
-/* 1297 */ sb.append("\r\n");
|
|
|
-/* 1298 */ sb.append("\t\tMap <String, Object> result = new HashMap <>();\r\n");
|
|
|
-/* 1299 */ sb.append("\r\n");
|
|
|
-/* 1300 */ sb.append("\t\tList <" + upTableName + "> pp = " + downTableName + "Service.get" + upTableName + "ByPage(page, record);\r\n");
|
|
|
-/* 1301 */ sb.append("\r\n");
|
|
|
-/* 1302 */ sb.append("\t\tresult.put(AppConstant.PAGE, page);\r\n");
|
|
|
-/* 1303 */ sb.append("\t\tresult.put(\"pp\", pp);\r\n");
|
|
|
-/* 1304 */ sb.append("\t\treturn new Result(true, result);\r\n");
|
|
|
-/* 1305 */ sb.append("\t}\r\n");
|
|
|
-/* 1306 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1310 */ sb.append("\t/**\r\n");
|
|
|
-/* 1311 */ sb.append("\t * <p>淇濆瓨銆�</p>\r\n");
|
|
|
-/* 1312 */ sb.append("\t */ \r\n");
|
|
|
-/* 1313 */ sb.append("\t@RequestMapping(value = \"/save\", method = RequestMethod.POST)\r\n");
|
|
|
-/* 1314 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1315 */ sb.append("\tpublic Result save(" + upTableName + " record) {\r\n");
|
|
|
-/* 1316 */ sb.append("\r\n");
|
|
|
-/* 1317 */ sb.append("\t\tboolean num = " + downTableName + "Service.create" + upTableName + "(record);\r\n");
|
|
|
-/* 1318 */ sb.append("\t\tif (num) {\r\n");
|
|
|
-/* 1319 */ sb.append("\t\t\treturn new Result(true, record.get" + StringUtil.initcap(pkName) + "());\r\n");
|
|
|
-/* 1320 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1321 */ sb.append("\t\treturn new Result(false, \"淇濆瓨寮傚父\");\r\n");
|
|
|
-/* 1322 */ sb.append("\t}\r\n");
|
|
|
-/* 1323 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1326 */ sb.append("\t/**\r\n");
|
|
|
-/* 1327 */ sb.append("\t * <p>鏇存柊淇℃伅銆�</p>\r\n");
|
|
|
-/* 1328 */ sb.append("\t */ \r\n");
|
|
|
-/* 1329 */ sb.append("\t@RequestMapping(value = \"/update\", method = RequestMethod.POST)\r\n");
|
|
|
-/* 1330 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1331 */ sb.append("\tpublic Result update" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
-/* 1332 */ sb.append("\r\n");
|
|
|
-/* 1333 */ sb.append("\t\tboolean num = " + downTableName + "Service.update" + upTableName + "(record);\r\n");
|
|
|
-/* 1334 */ sb.append("\t\tif (num) {\r\n");
|
|
|
-/* 1335 */ sb.append("\t\t\treturn new Result(true, \"淇濆瓨鎴愬姛\");\r\n");
|
|
|
-/* 1336 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1337 */ sb.append("\t\treturn new Result(false, \"淇濆瓨寮傚父\");\r\n");
|
|
|
-/* 1338 */ sb.append("\t}\r\n");
|
|
|
-/* 1339 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1343 */ sb.append("\t/**\r\n");
|
|
|
-/* 1344 */ sb.append("\t * <p>鍒犻櫎銆�</p>\r\n");
|
|
|
-/* 1345 */ sb.append("\t */ \r\n");
|
|
|
-/* 1346 */ sb.append("\t@RequestMapping(value = \"/del\", method = RequestMethod.POST)\r\n");
|
|
|
-/* 1347 */ sb.append("\t@ResponseBody\r\n");
|
|
|
-/* 1348 */ sb.append("\tpublic Result delete" + upTableName + "(@RequestParam(required = true, value = \"" + StringUtil.underlineToCamel(pkName) + "\") String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
-/* 1349 */ sb.append("\r\n");
|
|
|
-/* 1350 */ sb.append("\t\tboolean num = " + downTableName + "Service.delete" + upTableName + "(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
-/* 1351 */ sb.append("\t\tif (num) {\r\n");
|
|
|
-/* 1352 */ sb.append("\t\t\treturn new Result(true, \"鍒犻櫎鎴愬姛\");\r\n");
|
|
|
-/* 1353 */ sb.append("\t\t}\r\n");
|
|
|
-/* 1354 */ sb.append("\t\treturn new Result(false, \"鍒犻櫎寮傚父\");\r\n");
|
|
|
-/* 1355 */ sb.append("\t}\r\n");
|
|
|
-/* 1356 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1359 */ sb.append("}\r\n");
|
|
|
-/* */
|
|
|
-/* 1361 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ private static void createModelFile(TableParams tableParams, String[] colnames, String[] colTypes)
|
|
|
-/* */ {
|
|
|
-/* 1367 */ String modelContent = parseModel(colnames, colTypes, tableParams);
|
|
|
-/* */ try
|
|
|
-/* */ {
|
|
|
-/* 1370 */ File directory = new File("");
|
|
|
-/* */
|
|
|
-/* 1372 */ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getModelTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + ".java";
|
|
|
-/* 1373 */ System.out.println("鏂囦欢璺緞锛�" + fileName);
|
|
|
-/* 1374 */ FileWriter fw = new FileWriter(fileName);
|
|
|
-/* 1375 */ PrintWriter pw = new PrintWriter(fw);
|
|
|
-/* 1376 */ pw.println(modelContent);
|
|
|
-/* 1377 */ pw.flush();
|
|
|
-/* 1378 */ pw.close();
|
|
|
-/* */ } catch (IOException e) {
|
|
|
-/* 1380 */ e.printStackTrace();
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ public static String changeToFolder(String packageName)
|
|
|
-/* */ {
|
|
|
-/* 1386 */ return packageName.replaceAll("\\.", "\\/") + "/";
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ public static String parseModel(String[] colnames, String[] colTypes, TableParams tableParams)
|
|
|
-/* */ {
|
|
|
-/* 1395 */ StringBuffer sb = new StringBuffer();
|
|
|
-/* */
|
|
|
-/* 1398 */ sb.append("package " + tableParams.getModelTargetPackage() + ";\r\n");
|
|
|
-/* 1399 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1402 */ if (f_util) {
|
|
|
-/* 1403 */ sb.append("import java.util.*;\r\n");
|
|
|
-/* */ }
|
|
|
-/* 1405 */ if (f_sql) {
|
|
|
-/* 1406 */ sb.append("import java.sql.*;\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 1409 */ if (f_math) {
|
|
|
-/* 1410 */ sb.append("import java.math.*;\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* 1413 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1415 */ sb.append("import org.codehaus.jackson.annotate.JsonAutoDetect;\r\n");
|
|
|
-/* 1416 */ sb.append("import org.codehaus.jackson.map.annotate.JsonSerialize;\r\n");
|
|
|
-/* */
|
|
|
-/* 1418 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1421 */ sb.append("/**\r\n");
|
|
|
-/* 1422 */ sb.append(" * " + tableParams.getTabelName() + " 瀹炰綋绫籠r\n");
|
|
|
-/* 1423 */ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
-/* 1424 */ sb.append(" */ \r\n");
|
|
|
-/* */
|
|
|
-/* 1427 */ sb.append("@JsonAutoDetect\r\n");
|
|
|
-/* 1428 */ sb.append("@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)\r\n");
|
|
|
-/* */
|
|
|
-/* 1431 */ sb.append("public class " + StringUtil.initcap(tableParams.getTabelName()) + "{\r\n");
|
|
|
-/* 1432 */ sb.append("\r\n");
|
|
|
-/* */
|
|
|
-/* 1434 */ processModelAllAttrs(sb, colnames, colTypes);
|
|
|
-/* 1435 */ processModelAllMethod(sb, colnames, colTypes);
|
|
|
-/* 1436 */ sb.append("}\r\n");
|
|
|
-/* */
|
|
|
-/* 1439 */ return sb.toString();
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ public static void processModelAllAttrs(StringBuffer sb, String[] colnames, String[] colTypes)
|
|
|
-/* */ {
|
|
|
-/* 1449 */ for (int i = 0; i < colnames.length; i++)
|
|
|
-/* 1450 */ sb.append("\tprivate " + StringUtil.sqlType2JavaType(colTypes[i]) + " " + StringUtil.underlineToCamel(colnames[i]) + ";\r\n\r\n");
|
|
|
-/* */ }
|
|
|
-/* */
|
|
|
-/* */ public static void processModelAllMethod(StringBuffer sb, String[] colnames, String[] colTypes)
|
|
|
-/* */ {
|
|
|
-/* 1462 */ for (int i = 0; i < colnames.length; i++) {
|
|
|
-/* 1463 */ sb.append("\tpublic void set" + StringUtil.initcap(colnames[i]) + "(" + StringUtil.sqlType2JavaType(colTypes[i]) + " " +
|
|
|
-/* 1464 */ StringUtil.underlineToCamel(colnames[i]) + "){\r\n");
|
|
|
-/* 1465 */ sb.append("\t\tthis." + StringUtil.underlineToCamel(colnames[i]) + "=" + StringUtil.underlineToCamel(colnames[i]) + ";\r\n");
|
|
|
-/* 1466 */ sb.append("\t}\r\n\r\n");
|
|
|
-/* 1467 */ sb.append("\tpublic " + StringUtil.sqlType2JavaType(colTypes[i]) + " get" + StringUtil.initcap(colnames[i]) + "(){\r\n");
|
|
|
-/* 1468 */ sb.append("\t\treturn " + StringUtil.underlineToCamel(colnames[i]) + ";\r\n");
|
|
|
-/* 1469 */ sb.append("\t}\r\n\r\n");
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-/* */ }
|
|
|
-
|
|
|
-/* Location: C:\Users\Administrator\Desktop\新建文件夹\WEB-INF\classes\
|
|
|
- * Qualified Name: zouma.frame.gen.GenEntity
|
|
|
- * JD-Core Version: 0.6.2
|
|
|
- */
|
|
|
+package zouma.frame.gen;
|
|
|
+
|
|
|
+import zouma.frame.util.StringUtil;
|
|
|
+
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileWriter;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.PrintWriter;
|
|
|
+import java.sql.*;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+
|
|
|
+public class GenEntity {
|
|
|
+
|
|
|
+ private static boolean f_util = false; // 是否需要导入包java.util.*
|
|
|
+ private static boolean f_sql = false; // 是否需要导入包java.sql.*
|
|
|
+ private static boolean f_math = false;//是否需要导入包 java.math.BigDecimal
|
|
|
+
|
|
|
+
|
|
|
+ public static void GenAll(TableParams tableParams) {
|
|
|
+
|
|
|
+ String[] colnames; // 列名数组
|
|
|
+ String[] colTypes; //列名类型数组
|
|
|
+ int[] colSizes; //列名大小数组
|
|
|
+
|
|
|
+ String PK_NAME = "id";//主键名
|
|
|
+ Connection con = null;
|
|
|
+
|
|
|
+ //查要生成实体类的表
|
|
|
+ String sql = "select * from " + tableParams.getTabelName();
|
|
|
+ PreparedStatement pStemt = null;
|
|
|
+ try {
|
|
|
+ try {
|
|
|
+ Class.forName(JdbcConfig.DRIVER);
|
|
|
+ } catch (ClassNotFoundException e1) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e1.printStackTrace();
|
|
|
+ }
|
|
|
+ con = DriverManager.getConnection(JdbcConfig.URL, JdbcConfig.NAME, JdbcConfig.PASS);
|
|
|
+ pStemt = con.prepareStatement(sql);
|
|
|
+ ResultSetMetaData rsmd = pStemt.getMetaData();
|
|
|
+
|
|
|
+ ResultSet pkRSet = con.getMetaData().getPrimaryKeys(con.getCatalog().toUpperCase(),
|
|
|
+ null, tableParams.getTabelName());
|
|
|
+
|
|
|
+ while (pkRSet.next()) {
|
|
|
+ System.out.println(pkRSet.getString("COLUMN_NAME"));
|
|
|
+ PK_NAME = pkRSet.getString("COLUMN_NAME");
|
|
|
+ }
|
|
|
+
|
|
|
+ int size = rsmd.getColumnCount(); //统计列
|
|
|
+ colnames = new String[size];
|
|
|
+ colTypes = new String[size];
|
|
|
+ colSizes = new int[size];
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ colnames[i] = rsmd.getColumnName(i + 1);
|
|
|
+ colTypes[i] = rsmd.getColumnTypeName(i + 1);
|
|
|
+
|
|
|
+ if (colTypes[i].equalsIgnoreCase("datetime") || colTypes[i].equalsIgnoreCase("timestamp")) {
|
|
|
+ f_util = true;
|
|
|
+ }
|
|
|
+ if (colTypes[i].equalsIgnoreCase("image") || colTypes[i].equalsIgnoreCase("text")) {
|
|
|
+ f_sql = true;
|
|
|
+ }
|
|
|
+ if (colTypes[i].equalsIgnoreCase("decimal") || colTypes[i].equalsIgnoreCase("numeric")
|
|
|
+ || colTypes[i].equalsIgnoreCase("real") || colTypes[i].equalsIgnoreCase("money")
|
|
|
+ || colTypes[i].equalsIgnoreCase("smallmoney")) {
|
|
|
+ f_math = true;
|
|
|
+ }
|
|
|
+ colSizes[i] = rsmd.getColumnDisplaySize(i + 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果生成实体
|
|
|
+ if (tableParams.isModelFlag()) {
|
|
|
+
|
|
|
+ createModelFile(tableParams, colnames, colTypes);
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果生成数据层
|
|
|
+ if (tableParams.isDaoFlag()) {
|
|
|
+
|
|
|
+ createDaoClassFile(tableParams);
|
|
|
+ createDaoXmlFile(tableParams, colnames, colTypes, PK_NAME);
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果生成服务层
|
|
|
+ if (tableParams.isServiceFlag()) {
|
|
|
+
|
|
|
+ createServiceFile(tableParams, PK_NAME);
|
|
|
+ createServiceImplFile(tableParams, PK_NAME);
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果生成控制层
|
|
|
+ if (tableParams.isControllerFlag()) {
|
|
|
+
|
|
|
+ createControllerFile(tableParams, PK_NAME);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //如果生成JSP
|
|
|
+ if (tableParams.isJspFlag()) {
|
|
|
+ createJspByPageFile(tableParams, PK_NAME, colnames);
|
|
|
+ createJspEditFile(tableParams, PK_NAME, colnames);
|
|
|
+ }
|
|
|
+
|
|
|
+ //关闭链接
|
|
|
+ pStemt.close();
|
|
|
+ pkRSet.close();
|
|
|
+ con.close();
|
|
|
+
|
|
|
+ } catch (SQLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createJspEditFile(TableParams tableParams, String pk_name, String[] colnames) {
|
|
|
+ String jspEditContent = parseJspEdit(tableParams.getTabelName(), pk_name, colnames);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/" + changeToFolder(tableParams.getJspTargetPackage()) + StringUtil.underlineToCamel(tableParams.getTabelName()) + ".jsp";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(jspEditContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseJspEdit(String tabelName, String pkName, String[] colnames) {
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ String upTableName = StringUtil.initcap(tabelName);
|
|
|
+ String downTableName = StringUtil.underlineToCamel(tabelName);
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>\r\n");
|
|
|
+ sb.append("<html>\r\n");
|
|
|
+
|
|
|
+ sb.append("<head>\r\n");
|
|
|
+ sb.append("\t<jsp:include page=\"head.jsp\"/>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t<title>牧场溯源</title>\r\n");
|
|
|
+
|
|
|
+ sb.append("</head>\r\n");
|
|
|
+
|
|
|
+ sb.append("<body>\r\n");
|
|
|
+
|
|
|
+ sb.append("<jsp:include page=\"contentBefore.jsp\"/>\r\n");
|
|
|
+ sb.append("<template>\r\n");
|
|
|
+
|
|
|
+ sb.append("\t<el-form ref=\"form\" :model=\"row_info\" label-width=\"80px\">\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ if (!pkName.equalsIgnoreCase(colnames[i])) {
|
|
|
+
|
|
|
+ sb.append("\t\t<el-form-item label=\"" + StringUtil.underlineToCamel(colnames[i]) + "\">\r\n");
|
|
|
+ sb.append("\t\t\t<el-input v-model=\"row_info." + StringUtil.underlineToCamel(colnames[i]) + "\"></el-input>\r\n");
|
|
|
+ sb.append("\t\t</el-form-item>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t<el-form-item>\r\n");
|
|
|
+ sb.append("\t\t\t<el-button type=\"primary\" @click=\"onSubmit\">{{edit?'保存':'立即创建'}}</el-button>\r\n");
|
|
|
+ sb.append("\t\t\t<el-button>取消</el-button>\r\n");
|
|
|
+ sb.append("\t</el-form-item>\r\n");
|
|
|
+ sb.append("\t</el-form>\r\n");
|
|
|
+ sb.append("</template>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<jsp:include page=\"contentAfter.jsp\"/>\r\n");
|
|
|
+ sb.append("</body>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<script>\r\n");
|
|
|
+
|
|
|
+ sb.append("\tfunction getQueryString(name) {\r\n");
|
|
|
+ sb.append("\t\tvar reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\", \"i\");\r\n");
|
|
|
+ sb.append("\t\tvar r = window.location.search.substr(1).match(reg);\r\n");
|
|
|
+ sb.append("\t\tif (r != null) return unescape(r[2]);\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+
|
|
|
+ sb.append("\tnew Vue({\r\n");
|
|
|
+ sb.append("\t\tel: '#app',\r\n");
|
|
|
+ sb.append("\t\tcreated: function () {\r\n");
|
|
|
+ sb.append("\t\t\tvar " + StringUtil.underlineToCamel(pkName) + " = getQueryString('" + StringUtil.underlineToCamel(pkName) + "');\r\n");
|
|
|
+ sb.append("\t\t\tif (" + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
+ sb.append("\t\t\t\t$.get({\r\n");
|
|
|
+ sb.append("\t\t\t\t\turl: '../" + downTableName + "/get" + upTableName + "',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tdata: {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\t" + StringUtil.underlineToCamel(pkName) + ": " + StringUtil.underlineToCamel(pkName) + "\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.edit = true;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.row_info = res.data;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this));\r\n");
|
|
|
+ sb.append("\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\tdata: function () {\r\n");
|
|
|
+ sb.append("\t\t\treturn {\r\n");
|
|
|
+ sb.append("\t\t\t\tmenu: '0-0',\r\n");
|
|
|
+ sb.append("\t\t\t\tuser: {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tid: '',\n\r\n");
|
|
|
+ sb.append("\t\t\t\t\tusername: 'admin',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tavatar: ''\r\n");
|
|
|
+ sb.append("\t\t\t\t},\r\n");
|
|
|
+ sb.append("\t\t\t\tloading: false,\r\n");
|
|
|
+ sb.append("\t\t\t\tedit: false,\r\n");
|
|
|
+ sb.append("\t\t\t\ttab: 1,\r\n");
|
|
|
+ sb.append("\t\t\t\trow_info : {},\r\n");
|
|
|
+ sb.append("\t\t\t};\r\n");
|
|
|
+ sb.append("\t\t},\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\tmethods: {\r\n");
|
|
|
+ sb.append("\t\t\tlogout: function () {\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.$confirm('确定要注销吗?', '提示', {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tconfirmButtonText: '确定',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tcancelButtonText: '取消',\r\n");
|
|
|
+ sb.append("\t\t\t\t\ttype: 'info'\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tlocalStorage.removeItem('user');\r\n");
|
|
|
+ sb.append("\t\t\t\t\tthis.$router.push({path: '/login'});\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this)).catch(function (e) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\t\t});\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\tonSubmit: function () {\r\n");
|
|
|
+ sb.append("\t\t\t\tvar data = JSON.parse(JSON.stringify(this.row_info));\r\n");
|
|
|
+ sb.append("\t\t\t\t$.post({\r\n");
|
|
|
+ sb.append("\t\t\t\t\turl: this.edit ? '../" + downTableName + "/update' : '../" + downTableName + "/save',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tdata: data\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tif (!this.edit) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\t\tthis.row_info." + StringUtil.underlineToCamel(pkName) + " = res.data;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.edit = true;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.$message.success(this.edit ? '保存成功' : '创建成功');\r\n");
|
|
|
+ sb.append("\t\t\t\t\t} else {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.$message.error(this.edit ? '保存失败' : '创建失败');\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this))\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\t})\r\n");
|
|
|
+ sb.append("</script>\r\n");
|
|
|
+ sb.append("</html>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ return sb.toString();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private static void createJspByPageFile(TableParams tableParams, String pkName, String[] colnames) {
|
|
|
+ String jspByPageContent = parseJspByPage(tableParams.getTabelName(), pkName, colnames);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/" + changeToFolder(tableParams.getJspTargetPackage()) + StringUtil.underlineToCamel(tableParams.getTabelName()) + "s.jsp";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(jspByPageContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseJspByPage(String tabelName, String pkName, String[] colnames) {
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ String downTableName = StringUtil.underlineToCamel(tabelName);
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<%@ page contentType=\"text/html;charset=UTF-8\" language=\"java\" %>\r\n");
|
|
|
+ sb.append("<html>\r\n");
|
|
|
+
|
|
|
+ sb.append("<head>\r\n");
|
|
|
+ sb.append("\t<jsp:include page=\"head.jsp\"/>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t<title>牧场溯源</title>\r\n");
|
|
|
+
|
|
|
+ sb.append("</head>\r\n");
|
|
|
+
|
|
|
+ sb.append("<body>\r\n");
|
|
|
+
|
|
|
+ sb.append("<jsp:include page=\"contentBefore.jsp\"/>\r\n");
|
|
|
+ sb.append("<template>\r\n");
|
|
|
+
|
|
|
+ sb.append("\t<div class=\"filters\">\r\n");
|
|
|
+ sb.append("\t\t<el-button type=\"primary\" @click=\"create()\">创建</el-button>\r\n");
|
|
|
+ sb.append("\t\t<div class=\"num\"> 共{{totalNumber}}记录</div>\r\n");
|
|
|
+ sb.append("\t</div>\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\t<el-table :data=\"rows\"\r\n");
|
|
|
+ sb.append("\t\t\tref=\"table\"\r\n");
|
|
|
+ sb.append("\t\t\tstyle=\"width: 100%\"\r\n");
|
|
|
+ sb.append("\t\t\telement-loading-text=\"拼命加载中\"\r\n");
|
|
|
+ sb.append("\t\t\tstripe\r\n");
|
|
|
+ sb.append("\t\t\tv-loading=\"loading\">\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\t<el-table-column\r\n");
|
|
|
+ sb.append("\t\t\t\ttype=\"index\"\r\n");
|
|
|
+ sb.append("\t\t\t\twidth=\"70\"\r\n");
|
|
|
+ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
+ sb.append("\t\t\t</el-table-column>\r\n");
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ if (!pkName.equalsIgnoreCase(colnames[i])) {
|
|
|
+
|
|
|
+ sb.append("\t\t<el-table-column\r\n");
|
|
|
+ sb.append("\t\t\t\tprop=\"" + StringUtil.underlineToCamel(colnames[i]) + "\"\r\n");
|
|
|
+ sb.append("\t\t\t\tlabel=\"" + StringUtil.underlineToCamel(colnames[i]) + "\"\r\n");
|
|
|
+ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
+ sb.append("\t\t</el-table-column>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t<el-table-column\r\n");
|
|
|
+ sb.append("\t\t\t\t:context=\"_self\"\r\n");
|
|
|
+ sb.append("\t\t\t\twidth=\"150\"\r\n");
|
|
|
+ sb.append("\t\t\t\tinline-template\r\n");
|
|
|
+ sb.append("\t\t\t\tlabel=\"操作\"\r\n");
|
|
|
+ sb.append("\t\t\t\talign=\"center\">\r\n");
|
|
|
+ sb.append("\t\t\t<div>\r\n");
|
|
|
+ sb.append("\t\t\t\t<el-button size=\"small\" @click=\"editRow(row)\">编辑</el-button>\r\n");
|
|
|
+ sb.append("\t\t\t\t<el-button size=\"small\" type=\"danger\" @click=\"deleteRow(row)\">删除</el-button>\r\n");
|
|
|
+ sb.append("\t\t\t</div>\r\n");
|
|
|
+ sb.append("\t\t</el-table-column>\r\n");
|
|
|
+
|
|
|
+ sb.append("\t</el-table>\r\n");
|
|
|
+
|
|
|
+ sb.append("\t<div class=\"pagination-wrapper\" v-show=\"!loading\">\r\n");
|
|
|
+ sb.append("\t\t<el-pagination layout=\"sizes, prev, pager, next\" :page-size=\"pageSize\" :total=\"totalNumber\"\r\n");
|
|
|
+ sb.append("\t\t\t\t\t:page-size=\"pageSize\"\r\n");
|
|
|
+ sb.append("\t\t\t\t\t:current-page=\"currentPage\" @current-change=\"pageChange\" @size-change=\"sizeChange\">\r\n");
|
|
|
+ sb.append("\t\t</el-pagination>\r\n");
|
|
|
+ sb.append("\t</div>\r\n");
|
|
|
+
|
|
|
+ sb.append("</template>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<jsp:include page=\"contentAfter.jsp\"/>\r\n");
|
|
|
+ sb.append("</body>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<script>\r\n");
|
|
|
+
|
|
|
+ sb.append("\tfunction getQueryString(name) {\r\n");
|
|
|
+ sb.append("\t\tvar reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\", \"i\");\r\n");
|
|
|
+ sb.append("\t\tvar r = window.location.search.substr(1).match(reg);\r\n");
|
|
|
+ sb.append("\t\tif (r != null) return unescape(r[2]);\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+
|
|
|
+ sb.append("\tnew Vue({\r\n");
|
|
|
+ sb.append("\t\tel: '#app',\r\n");
|
|
|
+ sb.append("\t\tcreated: function () {\r\n");
|
|
|
+ sb.append("\t\t\tthis.getRows();\r\n");
|
|
|
+ sb.append("\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\tdata: function () {\r\n");
|
|
|
+ sb.append("\t\t\treturn {\r\n");
|
|
|
+ sb.append("\t\t\t\tmenu: '0-0',\r\n");
|
|
|
+ sb.append("\t\t\t\tuser: {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tid: '',\n\r\n");
|
|
|
+ sb.append("\t\t\t\t\tusername: 'admin',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tavatar: ''\r\n");
|
|
|
+ sb.append("\t\t\t\t},\r\n");
|
|
|
+ sb.append("\t\t\t\tloading: false,\r\n");
|
|
|
+ sb.append("\t\t\t\ttotalNumber: 0,\r\n");
|
|
|
+ sb.append("\t\t\t\ttotalPage: 10,\r\n");
|
|
|
+ sb.append("\t\t\t\tcurrentPage: 1,\r\n");
|
|
|
+ sb.append("\t\t\t\tpageSize: 20,\r\n");
|
|
|
+ sb.append("\t\t\t\trows: []\r\n");
|
|
|
+ sb.append("\t\t\t};\r\n");
|
|
|
+ sb.append("\t\t},\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\tmethods: {\r\n");
|
|
|
+ sb.append("\t\t\tlogout: function () {\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.$confirm('确定要注销吗?', '提示', {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tconfirmButtonText: '确定',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tcancelButtonText: '取消',\r\n");
|
|
|
+ sb.append("\t\t\t\t\ttype: 'info'\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tlocalStorage.removeItem('user');\r\n");
|
|
|
+ sb.append("\t\t\t\t\tthis.$router.push({path: '/login'});\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this)).catch(function (e) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\t\t});\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\tgetRows: function () {\r\n");
|
|
|
+ sb.append("\t\t\t\t$.get({\r\n");
|
|
|
+ sb.append("\t\t\t\t\turl: '../" + downTableName + "/page',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tdata: {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tcurrentPage: this.currentPage,\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tpageNumber: this.pageSize\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function (res) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.totalNumber = res.data.page.totalNumber;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.rows = res.data.pp;\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this))\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\tpageChange: function (page) {\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.currentPage = page;\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.getRows();\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\tsizeChange: function (size) {\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.pageSize = size;\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.getRows();\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+ sb.append("\t\t\teditRow: function (row) {\r\n");
|
|
|
+ sb.append("\t\t\t\twindow.location = '" + downTableName + "?" + StringUtil.underlineToCamel(pkName) + "=' + row." + StringUtil.underlineToCamel(pkName) + ";\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\tdeleteRow: function (row) {\r\n");
|
|
|
+ sb.append("\t\t\t\tthis.$confirm('确定要删除吗?', '提示', {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tconfirmButtonText: '删除',\r\n");
|
|
|
+ sb.append("\t\t\t\t\tcancelButtonText: '取消',\r\n");
|
|
|
+ sb.append("\t\t\t\t\ttype: 'warning'\r\n");
|
|
|
+ sb.append("\t\t\t\t}).then(function () {\r\n");
|
|
|
+ sb.append("\t\t\t\t\treturn $.post({\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\turl: '../" + downTableName + "/del',\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tdata: {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\t\t" + StringUtil.underlineToCamel(pkName) + ": row." + StringUtil.underlineToCamel(pkName) + "\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t\t})\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this)).then(function (res) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\tif (res.success) {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.$message.success('删除成功');\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.getRows();\r\n");
|
|
|
+ sb.append("\t\t\t\t\t} else {\r\n");
|
|
|
+ sb.append("\t\t\t\t\t\tthis.$message.error('删除失败');\r\n");
|
|
|
+ sb.append("\t\t\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t\t\t}.bind(this)).catch(function () {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\t\t});\r\n");
|
|
|
+ sb.append("\t\t\t},\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\tcreate: function () {\r\n");
|
|
|
+ sb.append("\t\t\t\twindow.location = '" + downTableName + "';\r\n");
|
|
|
+ sb.append("\t\t\t}\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\t})\r\n");
|
|
|
+ sb.append("</script>\r\n");
|
|
|
+ sb.append("</html>\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ return sb.toString();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createDaoClassFile(TableParams tableParams) {
|
|
|
+
|
|
|
+ String daoClassContent = parseDaoClass(tableParams);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getDaoTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Mapper.java";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(daoClassContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseDaoClass(TableParams tableParams) {
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("package " + tableParams.getDaoTargetPackage() + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import java.util.List;\r\n");
|
|
|
+ sb.append("import java.util.Map;\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import org.springframework.stereotype.Repository;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import " + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ //注释部分
|
|
|
+ sb.append("/**\r\n");
|
|
|
+ sb.append(" * " + tableParams.getTabelName() + " Dao接口\r\n");
|
|
|
+ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
+ sb.append(" */ \r\n");
|
|
|
+
|
|
|
+ //注解
|
|
|
+ sb.append("@Repository(\"" + tableParams.getDaoTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "Mapper\")\r\n");
|
|
|
+
|
|
|
+ //实体部分
|
|
|
+ sb.append("public interface " + StringUtil.initcap(tableParams.getTabelName()) + "Mapper {\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\tint deleteByPrimaryKey(Integer id);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\tint insertSelective(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " selectByPrimaryKey(Integer id);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\tint updateByPrimaryKeySelective(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> queryAll" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> query" + StringUtil.initcap(tableParams.getTabelName()) + "sByPage(Map <String, Object> parameter);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\tint delete(String id);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " query" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("}\r\n");
|
|
|
+
|
|
|
+ //System.out.println(sb.toString());
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生成 dao XML
|
|
|
+ *
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ * @param colTypes
|
|
|
+ * @param pkName
|
|
|
+ */
|
|
|
+ private static void createDaoXmlFile(TableParams tableParams, String[] colnames, String[] colTypes, String pkName) {
|
|
|
+
|
|
|
+ String daoXmlContent = parseDaoXml(colnames, colTypes, tableParams, pkName);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getDaoTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Mapper.xml";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(daoXmlContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析 数据层 xml
|
|
|
+ *
|
|
|
+ * @param colnames
|
|
|
+ * @param colTypes
|
|
|
+ * @param tableParams
|
|
|
+ * @param pkName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private static String parseDaoXml(String[] colnames, String[] colTypes, TableParams tableParams, String pkName) {
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n");
|
|
|
+ sb.append("<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\" >\r\n");
|
|
|
+
|
|
|
+ sb.append("<mapper namespace=\"" + tableParams.getDaoTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "Mapper\" >\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ parseDaoBaseResultMap(sb, colnames, colTypes, pkName, tableParams);
|
|
|
+ parseDaoBaseColumnList(sb, colnames);
|
|
|
+ parseDaoSelectByPrimaryKey(sb, pkName, tableParams.getTabelName());
|
|
|
+ parseDaoDeleteByPrimaryKey(sb, pkName, tableParams.getTabelName());
|
|
|
+ parseDaoInsertSelective(sb, pkName, tableParams, colnames, colTypes);
|
|
|
+ parseDaoUpdateByPrimaryKeySelective(sb, pkName, tableParams, colnames, colTypes);
|
|
|
+ parseDaoQueryByPage(sb, pkName, tableParams, colnames);
|
|
|
+ parseDaoQueryAll(sb, pkName, tableParams, colnames);
|
|
|
+ parseDaoQueryOne(sb, tableParams, colnames);
|
|
|
+ parseDaoDelete(sb, tableParams.getTabelName(), pkName);
|
|
|
+
|
|
|
+ sb.append("</mapper>\r\n");
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 逻辑删除
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param tabelName
|
|
|
+ * @param pkName
|
|
|
+ */
|
|
|
+ private static void parseDaoDelete(StringBuffer sb, String tabelName, String pkName) {
|
|
|
+ sb.append("\t<update id=\"delete\">\r\n");
|
|
|
+ sb.append("\t\tUPDATE " + tabelName + " SET del_flag = 'Y'\r\n");
|
|
|
+ sb.append("\t\t<where>\r\n");
|
|
|
+ sb.append("\t\t\tAND " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + "}\r\n");
|
|
|
+ sb.append("\t\t</where>\r\n");
|
|
|
+ sb.append("\t</update>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,查询一个
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ */
|
|
|
+ private static void parseDaoQueryOne(StringBuffer sb, TableParams tableParams, String[] colnames) {
|
|
|
+ sb.append("\t<select id=\"query" + StringUtil.initcap(tableParams.getTabelName()) + "\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
+ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
+ sb.append("\t\t<where>\r\n");
|
|
|
+ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(" + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
+ sb.append("\t\t\t\tand " + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t</where>\r\n");
|
|
|
+ sb.append("\t\tLIMIT 1\r\n");
|
|
|
+ sb.append("\t</select>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,查询所有
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ */
|
|
|
+ private static void parseDaoQueryAll(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames) {
|
|
|
+
|
|
|
+ sb.append("\t<select id=\"queryAll" + StringUtil.initcap(tableParams.getTabelName()) + "\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
+ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
+ sb.append("\t\t<where>\r\n");
|
|
|
+ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(" + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
+ sb.append("\t\t\t\tand " + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t</where>\r\n");
|
|
|
+ sb.append("\t\torder by " + pkName + " desc\r\n");
|
|
|
+ sb.append("\t</select>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,翻页查询
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ */
|
|
|
+ private static void parseDaoQueryByPage(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames) {
|
|
|
+
|
|
|
+ sb.append("\t<select id=\"query" + StringUtil.initcap(tableParams.getTabelName()) + "sByPage\" parameterType=\"java.util.Map\" resultType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\">\r\n");
|
|
|
+ sb.append("\t\tselect <include refid=\"Base_Column_List\"/> from " + tableParams.getTabelName() + "\r\n");
|
|
|
+ sb.append("\t\t<where>\r\n");
|
|
|
+ sb.append("\t\t\tand del_flag = 'N'\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"record." + StringUtil.underlineToCamel(colnames[i]) + " != null and !"".equals(record." + StringUtil.underlineToCamel(colnames[i]) + ")\">\r\n");
|
|
|
+ sb.append("\t\t\t\tand " + colnames[i] + " = #{record." + StringUtil.underlineToCamel(colnames[i]) + "}\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\t\t</where>\r\n");
|
|
|
+ sb.append("\t\torder by " + pkName + " desc\r\n");
|
|
|
+ sb.append("\t</select>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,根据主键更新字段
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ * @param colTypes
|
|
|
+ */
|
|
|
+ private static void parseDaoUpdateByPrimaryKeySelective(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames, String[] colTypes) {
|
|
|
+ sb.append("\t<update id=\"updateByPrimaryKeySelective\" parameterType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" >\r\n");
|
|
|
+ sb.append("\t\tupdate " + tableParams.getTabelName() + "\r\n");
|
|
|
+ sb.append("\t\t<set >\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ if (!pkName.equalsIgnoreCase(colnames[i])) {
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
+ sb.append("\t\t\t\t" + colnames[i] + " = #{" + StringUtil.underlineToCamel(colnames[i]) + ",jdbcType=" + StringUtil.sqlType2JdbcType(colTypes[i]) + "},\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\t\t</set>\r\n");
|
|
|
+ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
+ sb.append("\t</update>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,插入数据
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tableParams
|
|
|
+ * @param colnames
|
|
|
+ * @param colTypes
|
|
|
+ */
|
|
|
+ private static void parseDaoInsertSelective(StringBuffer sb, String pkName, TableParams tableParams, String[] colnames, String[] colTypes) {
|
|
|
+ sb.append("\t<insert id=\"insertSelective\" parameterType=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" useGeneratedKeys=\"true\" keyProperty=\"" + StringUtil.underlineToCamel(pkName) + "\">\r\n");
|
|
|
+ sb.append("\t\tinsert into " + tableParams.getTabelName() + "\r\n");
|
|
|
+ sb.append("\t\t<trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\" >\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
+ sb.append("\t\t\t\t" + colnames[i] + ",\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\t\t</trim>\r\n");
|
|
|
+ sb.append("\t\t<trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\" >\r\n");
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ sb.append("\t\t\t<if test=\"" + StringUtil.underlineToCamel(colnames[i]) + " != null\" >\r\n");
|
|
|
+ sb.append("\t\t\t\t#{" + StringUtil.underlineToCamel(colnames[i]) + ",jdbcType=" + StringUtil.sqlType2JdbcType(colTypes[i]) + "},\t\n");
|
|
|
+ sb.append("\t\t\t</if>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\t\t</trim>\r\n");
|
|
|
+ sb.append("\t</insert>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析,根据主键删除
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tabelName
|
|
|
+ */
|
|
|
+ private static void parseDaoDeleteByPrimaryKey(StringBuffer sb, String pkName, String tabelName) {
|
|
|
+
|
|
|
+ sb.append("\t<delete id=\"deleteByPrimaryKey\" parameterType=\"java.lang.Integer\" >\r\n");
|
|
|
+ sb.append("\t\tdelete from " + tabelName + "\r\n");
|
|
|
+ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
+ sb.append("\t</delete>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析根据主键查询
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param pkName
|
|
|
+ * @param tabelName
|
|
|
+ */
|
|
|
+ private static void parseDaoSelectByPrimaryKey(StringBuffer sb, String pkName, String tabelName) {
|
|
|
+ sb.append("\t<select id=\"selectByPrimaryKey\" resultMap=\"BaseResultMap\" parameterType=\"java.lang.Integer\" >\r\n");
|
|
|
+ sb.append("\t\tselect\r\n");
|
|
|
+ sb.append("\t\t<include refid=\"Base_Column_List\" />\r\n");
|
|
|
+ sb.append("\t\tfrom " + tabelName + "\r\n");
|
|
|
+ sb.append("\t\twhere " + pkName + " = #{" + StringUtil.underlineToCamel(pkName) + ",jdbcType=INTEGER}\r\n");
|
|
|
+ sb.append("\t</select>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析baseColumnList
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param colnames
|
|
|
+ */
|
|
|
+ private static void parseDaoBaseColumnList(StringBuffer sb, String[] colnames) {
|
|
|
+
|
|
|
+ sb.append("\t<sql id=\"Base_Column_List\" >\r\n");
|
|
|
+ sb.append("\t\t");
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+
|
|
|
+ if (i == colnames.length - 1) {
|
|
|
+
|
|
|
+ sb.append(" " + colnames[i] + "\r\n");
|
|
|
+ } else {
|
|
|
+
|
|
|
+ sb.append(" " + colnames[i] + ",");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\t</sql>\r\n");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析BaseResultMap
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ * @param colnames
|
|
|
+ * @param colTypes
|
|
|
+ * @param pkName
|
|
|
+ * @param tableParams
|
|
|
+ */
|
|
|
+ private static void parseDaoBaseResultMap(StringBuffer sb, String[] colnames, String[] colTypes, String pkName, TableParams tableParams) {
|
|
|
+ sb.append("\t<resultMap id=\"BaseResultMap\" type=\"" + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + "\" >\r\n");
|
|
|
+ sb.append("\t\t<id column=\"" + pkName + "\" property=\"" + StringUtil.underlineToCamel(pkName) + "\" jdbcType=\"INTEGER\" />\r\n");
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+
|
|
|
+ if (!pkName.equalsIgnoreCase(colnames[i])) {
|
|
|
+
|
|
|
+ sb.append("\t\t<result column=\"" + colnames[i] + "\" property=\"" + StringUtil.underlineToCamel(colnames[i]) + "\" jdbcType=\"" + StringUtil.sqlType2JdbcType(colTypes[i]) + "\" />\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\t</resultMap>\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createServiceFile(TableParams tableParams, String pkName) {
|
|
|
+ String serviceContent = parseService(tableParams, pkName);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getServiceTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Service.java";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(serviceContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseService(TableParams tableParams, String pkName) {
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("package " + tableParams.getServiceTargetPackage() + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import java.util.List;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
+ sb.append("import " + tableParams.getModelTargetPackage() + "." + StringUtil.initcap(tableParams.getTabelName()) + ";\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //注释部分
|
|
|
+ sb.append("/**\r\n");
|
|
|
+ sb.append(" * " + tableParams.getTabelName() + " service接口类\r\n");
|
|
|
+ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
+ sb.append(" */ \r\n");
|
|
|
+
|
|
|
+ //实体部分
|
|
|
+ sb.append("public interface " + StringUtil.initcap(tableParams.getTabelName()) + "Service {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> get" + StringUtil.initcap(tableParams.getTabelName()) + "List(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\tList <" + StringUtil.initcap(tableParams.getTabelName()) + "> get" + StringUtil.initcap(tableParams.getTabelName()) + "ByPage(Page page, " + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " get" + StringUtil.initcap(tableParams.getTabelName()) + "ById(String " + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\t" + StringUtil.initcap(tableParams.getTabelName()) + " get" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\tboolean create" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\tboolean delete" + StringUtil.initcap(tableParams.getTabelName()) + "(String " + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("\tboolean update" + StringUtil.initcap(tableParams.getTabelName()) + "(" + StringUtil.initcap(tableParams.getTabelName()) + " record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("}\r\n");
|
|
|
+
|
|
|
+ return sb.toString();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createServiceImplFile(TableParams tableParams, String pkName) {
|
|
|
+ String serviceImplContent = parseServiceImpl(tableParams, pkName);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getImplTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "ServiceImpl.java";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(serviceImplContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseServiceImpl(TableParams tableParams, String pkName) {
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+ String upTableName = StringUtil.initcap(tableParams.getTabelName());
|
|
|
+ String downTableName = StringUtil.underlineToCamel(tableParams.getTabelName());
|
|
|
+
|
|
|
+ sb.append("package " + tableParams.getImplTargetPackage() + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import java.util.HashMap;\r\n");
|
|
|
+ sb.append("import java.util.List;\r\n");
|
|
|
+ sb.append("import java.util.Map;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import org.apache.log4j.Logger;\r\n");
|
|
|
+ sb.append("import org.springframework.beans.factory.annotation.Autowired;\r\n");
|
|
|
+ sb.append("import org.springframework.stereotype.Service;\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".constant.AppConstant;\r\n");
|
|
|
+ sb.append("import " + tableParams.getDaoTargetPackage() + "." + upTableName + "Mapper;\r\n");
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
+ sb.append("import " + tableParams.getModelTargetPackage() + "." + upTableName + ";\r\n");
|
|
|
+ sb.append("import " + tableParams.getServiceTargetPackage() + "." + upTableName + "Service;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //注释部分
|
|
|
+ sb.append("/**\r\n");
|
|
|
+ sb.append(" * " + tableParams.getTabelName() + " service接口实现类\r\n");
|
|
|
+ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
+ sb.append(" */ \r\n");
|
|
|
+
|
|
|
+ //实体部分
|
|
|
+ sb.append("@Service\r\n");
|
|
|
+ sb.append("public class " + upTableName + "ServiceImpl implements " + upTableName + "Service {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //日志部分
|
|
|
+ sb.append("\tprivate static Logger logger = Logger.getLogger(" + upTableName + "ServiceImpl.class);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //引入mapper
|
|
|
+ sb.append("\t@Autowired\r\n");
|
|
|
+ sb.append("\tprivate " + upTableName + "Mapper " + downTableName + "Mapper;\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //get ALL
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic List <" + upTableName + "> get" + upTableName + "List(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"get" + upTableName + "List\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\treturn " + downTableName + "Mapper.queryAll" + upTableName + "(record);\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"get" + upTableName + "List\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //ByPage
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic List <" + upTableName + "> get" + upTableName + "ByPage(Page page, " + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"get" + upTableName + "ByPage\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tMap <String, Object> parameter = new HashMap <String, Object>();\r\n");
|
|
|
+ sb.append("\t\t\tparameter.put(\"record\", record);\r\n");
|
|
|
+ sb.append("\t\t\tparameter.put(AppConstant.PAGE, page);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\treturn " + downTableName + "Mapper.query" + upTableName + "sByPage(parameter);\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"get" + upTableName + "ByPage\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //selectByPrimaryKey
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic " + upTableName + " get" + upTableName + "ById(String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"get" + upTableName + "ById\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\treturn " + downTableName + "Mapper.selectByPrimaryKey(Integer.valueOf(" + StringUtil.underlineToCamel(pkName) + "));\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"get" + upTableName + "ById\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //getOne
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic " + upTableName + " get" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"get" + upTableName + "\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\treturn " + downTableName + "Mapper.query" + upTableName + "(record);\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"get" + upTableName + "\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn null;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //create
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic boolean create" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"create" + upTableName + "\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tint updates = " + downTableName + "Mapper.insertSelective(record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
+ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
+ sb.append("\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"create" + upTableName + "\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn false;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //delete
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic boolean delete" + upTableName + "(String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"delete" + upTableName + "\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tint updates = " + downTableName + "Mapper.delete(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
+ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
+ sb.append("\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"delete" + upTableName + "\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn false;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //update
|
|
|
+ sb.append("\t@Override\r\n");
|
|
|
+ sb.append("\tpublic boolean update" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tlogger.info(\"update" + upTableName + "\");\r\n");
|
|
|
+ sb.append("\t\ttry {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tint updates = " + downTableName + "Mapper.updateByPrimaryKeySelective(record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t\tif (updates > 0) {\r\n");
|
|
|
+ sb.append("\t\t\t\treturn true;\r\n");
|
|
|
+ sb.append("\t\t\t}\r\n");
|
|
|
+ sb.append("\t\t} catch (Exception e) {\r\n");
|
|
|
+ sb.append("\t\t\tlogger.error(\"update" + upTableName + "\", e);\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\treturn false;\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("}\r\n");
|
|
|
+
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createControllerFile(TableParams tableParams, String pkName) {
|
|
|
+ String controllerContent = parseController(tableParams, pkName);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getControllerTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + "Controller.java";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(controllerContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String parseController(TableParams tableParams, String pkName) {
|
|
|
+
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+ String upTableName = StringUtil.initcap(tableParams.getTabelName());
|
|
|
+ String downTableName = StringUtil.underlineToCamel(tableParams.getTabelName());
|
|
|
+
|
|
|
+ sb.append("package " + tableParams.getControllerTargetPackage() + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import java.util.HashMap;\r\n");
|
|
|
+ sb.append("import java.util.List;\r\n");
|
|
|
+ sb.append("import java.util.Map;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import org.springframework.beans.factory.annotation.Autowired;\r\n");
|
|
|
+ sb.append("import org.springframework.stereotype.Controller;\r\n");
|
|
|
+ sb.append("import org.springframework.web.bind.annotation.RequestMapping;\r\n");
|
|
|
+ sb.append("import org.springframework.web.bind.annotation.RequestMethod;\r\n");
|
|
|
+ sb.append("import org.springframework.web.bind.annotation.RequestParam;\r\n");
|
|
|
+ sb.append("import org.springframework.web.bind.annotation.ResponseBody;\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".constant.AppConstant;\r\n");
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".dto.Page;\r\n");
|
|
|
+ sb.append("import " + tableParams.getBasePackage() + ".dto.Result;\r\n");
|
|
|
+ sb.append("import " + tableParams.getModelTargetPackage() + "." + upTableName + ";\r\n");
|
|
|
+ sb.append("import " + tableParams.getServiceTargetPackage() + "." + upTableName + "Service;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //注释部分
|
|
|
+ sb.append("/**\r\n");
|
|
|
+ sb.append(" * " + tableParams.getTabelName() + " controller类\r\n");
|
|
|
+ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
+ sb.append(" */ \r\n");
|
|
|
+
|
|
|
+ //实体部分
|
|
|
+ sb.append("@Controller\r\n");
|
|
|
+ sb.append("@RequestMapping(\"/" + downTableName + "\")\r\n");
|
|
|
+ sb.append("public class " + upTableName + "Controller extends BaseController {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //引入
|
|
|
+ sb.append("\t@Autowired\r\n");
|
|
|
+ sb.append("\tprivate " + upTableName + "Service " + downTableName + "Service;\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //get ALL
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>获取全部记录。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/all\", method = RequestMethod.GET)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result all(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tList <" + upTableName + "> pp = " + downTableName + "Service.get" + upTableName + "List(record);\r\n");
|
|
|
+ sb.append("\t\treturn new Result(true, pp);\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //get By id
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>根据Id。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/get" + upTableName + "\", method = RequestMethod.GET)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result get" + upTableName + "(@RequestParam(required = false, value = \"" + StringUtil.underlineToCamel(pkName) + "\") String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t" + upTableName + " data = " + downTableName + "Service.get" + upTableName + "ById(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
+ sb.append("\t\treturn new Result(true, data);\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //getOne
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>根据条件获取。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/getOne\", method = RequestMethod.GET)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result getOne(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\t" + upTableName + " data = " + downTableName + "Service.get" + upTableName + "(record);\r\n");
|
|
|
+ sb.append("\t\treturn new Result(true, data);\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //page
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>分页查询。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/page\", method = RequestMethod.GET)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result page(Page page, " + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tMap <String, Object> result = new HashMap <>();\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tList <" + upTableName + "> pp = " + downTableName + "Service.get" + upTableName + "ByPage(page, record);\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tresult.put(AppConstant.PAGE, page);\r\n");
|
|
|
+ sb.append("\t\tresult.put(\"pp\", pp);\r\n");
|
|
|
+ sb.append("\t\treturn new Result(true, result);\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //save
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>保存。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/save\", method = RequestMethod.POST)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result save(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tboolean num = " + downTableName + "Service.create" + upTableName + "(record);\r\n");
|
|
|
+ sb.append("\t\tif (num) {\r\n");
|
|
|
+ sb.append("\t\t\treturn new Result(true, record.get" + StringUtil.initcap(pkName) + "());\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\t\treturn new Result(false, \"保存异常\");\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //update
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>更新信息。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/update\", method = RequestMethod.POST)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result update" + upTableName + "(" + upTableName + " record) {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tboolean num = " + downTableName + "Service.update" + upTableName + "(record);\r\n");
|
|
|
+ sb.append("\t\tif (num) {\r\n");
|
|
|
+ sb.append("\t\t\treturn new Result(true, \"保存成功\");\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\t\treturn new Result(false, \"保存异常\");\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ //del
|
|
|
+ sb.append("\t/**\r\n");
|
|
|
+ sb.append("\t * <p>删除。</p>\r\n");
|
|
|
+ sb.append("\t */ \r\n");
|
|
|
+ sb.append("\t@RequestMapping(value = \"/del\", method = RequestMethod.POST)\r\n");
|
|
|
+ sb.append("\t@ResponseBody\r\n");
|
|
|
+ sb.append("\tpublic Result delete" + upTableName + "(@RequestParam(required = true, value = \"" + StringUtil.underlineToCamel(pkName) + "\") String " + StringUtil.underlineToCamel(pkName) + ") {\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+ sb.append("\t\tboolean num = " + downTableName + "Service.delete" + upTableName + "(" + StringUtil.underlineToCamel(pkName) + ");\r\n");
|
|
|
+ sb.append("\t\tif (num) {\r\n");
|
|
|
+ sb.append("\t\t\treturn new Result(true, \"删除成功\");\r\n");
|
|
|
+ sb.append("\t\t}\r\n");
|
|
|
+ sb.append("\t\treturn new Result(false, \"删除异常\");\r\n");
|
|
|
+ sb.append("\t}\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("}\r\n");
|
|
|
+
|
|
|
+ return sb.toString();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void createModelFile(TableParams tableParams, String[] colnames, String[] colTypes) {
|
|
|
+ String modelContent = parseModel(colnames, colTypes, tableParams);
|
|
|
+
|
|
|
+ try {
|
|
|
+ File directory = new File("");
|
|
|
+
|
|
|
+ String fileName = directory.getAbsolutePath() + "/src/" + changeToFolder(tableParams.getModelTargetPackage()) + StringUtil.initcap(tableParams.getTabelName()) + ".java";
|
|
|
+ System.out.println("文件路径:" + fileName);
|
|
|
+ FileWriter fw = new FileWriter(fileName);
|
|
|
+ PrintWriter pw = new PrintWriter(fw);
|
|
|
+ pw.println(modelContent);
|
|
|
+ pw.flush();
|
|
|
+ pw.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String changeToFolder(String packageName) {
|
|
|
+
|
|
|
+ return packageName.replaceAll("\\.", "\\/") + "/";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能:生成实体类主体代码
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String parseModel(String[] colnames, String[] colTypes, TableParams tableParams) {
|
|
|
+ StringBuffer sb = new StringBuffer();
|
|
|
+
|
|
|
+
|
|
|
+ sb.append("package " + tableParams.getModelTargetPackage() + ";\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //判断是否导入工具包
|
|
|
+ if (f_util) {
|
|
|
+ sb.append("import java.util.*;\r\n");
|
|
|
+ }
|
|
|
+ if (f_sql) {
|
|
|
+ sb.append("import java.sql.*;\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (f_math) {
|
|
|
+ sb.append("import java.math.*;\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ sb.append("import org.codehaus.jackson.annotate.JsonAutoDetect;\r\n");
|
|
|
+ sb.append("import org.codehaus.jackson.map.annotate.JsonSerialize;\r\n");
|
|
|
+
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ //注释部分
|
|
|
+ sb.append("/**\r\n");
|
|
|
+ sb.append(" * " + tableParams.getTabelName() + " 实体类\r\n");
|
|
|
+ sb.append(" * " + new Date() + " Suo Chen Cheng\r\n");
|
|
|
+ sb.append(" */ \r\n");
|
|
|
+
|
|
|
+ //注解
|
|
|
+ sb.append("@JsonAutoDetect\r\n");
|
|
|
+ sb.append("@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)\r\n");
|
|
|
+
|
|
|
+ //实体部分
|
|
|
+ sb.append("public class " + StringUtil.initcap(tableParams.getTabelName()) + "{\r\n");
|
|
|
+ sb.append("\r\n");
|
|
|
+
|
|
|
+ processModelAllAttrs(sb, colnames, colTypes);//属性
|
|
|
+ processModelAllMethod(sb, colnames, colTypes);//get set方法
|
|
|
+ sb.append("}\r\n");
|
|
|
+
|
|
|
+ //System.out.println(sb.toString());
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能:生成所有属性
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ */
|
|
|
+ public static void processModelAllAttrs(StringBuffer sb, String[] colnames, String[] colTypes) {
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+ sb.append("\tprivate " + StringUtil.sqlType2JavaType(colTypes[i]) + " " + StringUtil.underlineToCamel(colnames[i]) + ";\r\n\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功能:生成所有方法
|
|
|
+ *
|
|
|
+ * @param sb
|
|
|
+ */
|
|
|
+ public static void processModelAllMethod(StringBuffer sb, String[] colnames, String[] colTypes) {
|
|
|
+
|
|
|
+ for (int i = 0; i < colnames.length; i++) {
|
|
|
+ sb.append("\tpublic void set" + StringUtil.initcap(colnames[i]) + "(" + StringUtil.sqlType2JavaType(colTypes[i]) + " " +
|
|
|
+ StringUtil.underlineToCamel(colnames[i]) + "){\r\n");
|
|
|
+ sb.append("\t\tthis." + StringUtil.underlineToCamel(colnames[i]) + "=" + StringUtil.underlineToCamel(colnames[i]) + ";\r\n");
|
|
|
+ sb.append("\t}\r\n\r\n");
|
|
|
+ sb.append("\tpublic " + StringUtil.sqlType2JavaType(colTypes[i]) + " get" + StringUtil.initcap(colnames[i]) + "(){\r\n");
|
|
|
+ sb.append("\t\treturn " + StringUtil.underlineToCamel(colnames[i]) + ";\r\n");
|
|
|
+ sb.append("\t}\r\n\r\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|