当前位置: 首页 > news >正文

免费教育网站建设免费下优化大师

免费教育网站建设,免费下优化大师,建筑网址大全,貴阳建设银行网站【实例简介】读取数据库表结构 自动生成增删改查代码【实例截图】【核心代码】package com.isoftstone.autocoding;import com.isoftstone.autocoding.common.Column;import com.isoftstone.autocoding.common.Table;import com.isoftstone.autocoding.utils.CamelCaseUtils;im…【实例简介】读取数据库表结构 自动生成增删改查代码【实例截图】【核心代码】package com.isoftstone.autocoding;import com.isoftstone.autocoding.common.Column;import com.isoftstone.autocoding.common.Table;import com.isoftstone.autocoding.utils.CamelCaseUtils;import com.isoftstone.autocoding.utils.FileHelper;import com.mysql.jdbc.StringUtils;import freemarker.template.Configuration;import freemarker.template.Template;import org.apache.log4j.Logger;import javax.swing.filechooser.FileSystemView;import java.io.*;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.ResultSet;import java.text.SimpleDateFormat;import java.util.*;public class EasyCodeApplication {private Logger logger Logger.getLogger(this.getClass());private Properties properties;/*** 读取配置文件** throws Exception*/public EasyCodeApplication() throws Exception {properties new Properties();String fileDir this.getClass().getClassLoader().getResource(generator.xml).getFile();properties.loadFromXML(new FileInputStream(fileDir));}/*** 解析数据表** param tableName* return* throws Exception*/public Table parseTable(String tableName) throws Exception {String driverName properties.getProperty(jdbc.driver);String userName properties.getProperty(jdbc.username);String userPwd properties.getProperty(jdbc.password);String dbURL properties.getProperty(jdbc.url);String catalog properties.getProperty(jdbc.catalog);String schema properties.getProperty(jdbc.schema);schema schema null ? % : schema;String column %;logger.debug(driver driverName);logger.debug(url dbURL);logger.debug(name userName);logger.debug(password userPwd);logger.debug(catalog catalog);logger.debug(schema schema);Class.forName(driverName);Connection conn java.sql.DriverManager.getConnection(dbURL, userName, userPwd);DatabaseMetaData dmd conn.getMetaData();ResultSet rs dmd.getColumns(catalog, schema, tableName, column);List columns new ArrayList();while (rs.next()) {Column c new Column();c.setLabel(rs.getString(REMARKS));String name rs.getString(COLUMN_NAME);c.setName(CamelCaseUtils.toCamelCase(name));c.setDbName(name);String dbType rs.getString(TYPE_NAME);int columnSize rs.getInt(COLUMN_SIZE);if (dbType.equals(TINYINT) columnSize 1) {c.setType(Integer);} else if (dbType.equals(TINYINT) columnSize 1) {c.setType(Boolean);} else {String type properties.getProperty(dbType);c.setType(type null ? String : type);}c.setDbType(dbType);c.setLength(rs.getInt(COLUMN_SIZE));c.setDecimalDigits(rs.getInt(DECIMAL_DIGITS));c.setNullable(rs.getBoolean(NULLABLE));columns.add(c);}List pkColumns new ArrayList();ResultSet pkrs dmd.getPrimaryKeys(catalog, schema, tableName);while (pkrs.next()) {Column c new Column();String name pkrs.getString(COLUMN_NAME);c.setName(CamelCaseUtils.toCamelCase(name));c.setDbName(name);pkColumns.add(c);}conn.close();Table t new Table();String prefiex properties.getProperty(tableRemovePrefixes);String name tableName;if (prefiex ! null !.equals(prefiex)) {name tableName.split(prefiex)[0];}t.setName(CamelCaseUtils.toCamelCase(name));t.setDbName(tableName);t.setColumns(columns);t.setPkColumns(pkColumns);return t;}/*** Discription:[生成映射文件和实体类]* Created on 2019年4月4日** param tableName 要声称映射文件和实体类的表名称* param tableDescAndCat 表描述* throws Exception*/public void gen(String tableName, String tableDescAndCat, String id, String modelId) throws Exception {Configuration cfg new Configuration(Configuration.VERSION_2_3_21);String outRoot properties.getProperty(outRoot);//当输出地址为null时文件放到桌面if (StringUtils.isNullOrEmpty(outRoot)) {File desktopDir FileSystemView.getFileSystemView() .getHomeDirectory();outRoot desktopDir.getAbsolutePath() /Desktop/EasyCodeDemo;}String basePackage properties.getProperty(basePackage);//获取当前日期SimpleDateFormat sm_date new SimpleDateFormat(yyyy年MM月dd日);SimpleDateFormat sm_year new SimpleDateFormat(yyyy年);//将首字母转为大写StringBuffer buffer new StringBuffer();String namePart1 modelId.substring(0, 1).toUpperCase();String namePart2 modelId.substring(1);buffer.append(namePart1 namePart2);System.out.println(buffer);Map root new HashMap();Table t this.parseTable(tableName);t.setTableDesc(tableDescAndCat.split(_)[0]);root.put(table, t);root.put(className, t.getNameUpper());root.put(classNameLower, t.getName());root.put(primaryKey, id);root.put(modelId, modelId);root.put(modelIdFirstUpper, buffer);root.put(package, basePackage);root.put(date, sm_date.format(new Date()));root.put(year, sm_year.format(new Date()));root.put(author, wangchun);root.put(email, chunwangiisoftstone.com);String templateDir this.getClass().getClassLoader().getResource(templates).getPath();File tdf new File(templateDir);List files FileHelper.findAllFile(tdf);for (File f : files) {String parentDir ;if (f.getParentFile().compareTo(tdf) ! 0) {parentDir f.getParent().split(templates)[1];}cfg.setClassForTemplateLoading(this.getClass(), /templates parentDir);Template template cfg.getTemplate(f.getName());template.setEncoding(UTF-8);String parentFileDir FileHelper.genFileDir(parentDir, root);parentFileDir parentFileDir.replace(., /);String file FileHelper.genFileDir(f.getName(), root).replace(.ftl, .java);System.out.println(file);File newFile FileHelper.makeFile(outRoot parentFileDir / file);Writer out new BufferedWriter(new OutputStreamWriter(new FileOutputStream(newFile), UTF-8));template.process(root, out);logger.debug(已生成文件 outRoot parentFileDir / file);}}public static void main(String[] args) throws Exception {long time System.currentTimeMillis();EasyCodeApplication g new EasyCodeApplication();Map map new HashMap();map.put(tr_usergroup_menu, 用户组菜单表);Iterator it map.entrySet().iterator();while (it.hasNext()) {Map.Entry e it.next();//设置数据库主键字段g.gen(e.getKey(), e.getValue(), id, id);}System.out.println(-------------------模版文件生成完毕时间 (System.currentTimeMillis() - time) 毫秒 ----------------!!!);}}
http://wiki.neutronadmin.com/news/347017/

相关文章:

  • seo黑帽排名站长工具的使用seo综合查询运营
  • 网站公司怎么做推广网页版式设计案例
  • we建站电脑网页无法打开是什么原因
  • 南城网站建设多少钱湖北省建设信息网站
  • 南宁网站建设专家网站设计需要哪些
  • 企业网站的首页设计模板wordpress图片域名
  • 网站相对路径和绝对路径做新得网站可以换到原来得域名嘛
  • 做相册的网站wordpress衔接出错
  • 龙岗网站建设哪家便宜乐山市住房和城乡规划建设局网站
  • 合肥做网站的企业济南网站技术
  • 运营网站开发工作滨州做网站建设的公司
  • 奉贤网站建设网站制作银川做网站最好的公司有哪些
  • 做企业网站推广多少钱服务器可以自己的网站吗
  • 云南建设厅查证网站合肥网站排名推广
  • 机关公文写作网站房地产网站建设公司
  • 购物网站模板下载精准大数据营销是什么
  • 哪两个数字域名是做医疗信息网站的有空间有域名怎么做网站
  • 网站开发过时了湖南刚刚发生的大事件
  • 网站广告代码怎么添加常州外贸网站设计
  • 可以发广告的100个网站圣都装饰
  • thinkphp旅游网站源码房屋装修设计图片欣赏
  • 网站建设按钮外贸推广app
  • dede重工蓝色企业免费网站模板没有营业执照 怎么做网站
  • 网站架构策划重庆百度推广seo
  • 网站建设的团队分工企业查询软件免费
  • 鹰潭市城乡建设局网站代理服务器国外
  • 南京网站建设q润洽网络做网站的开发工具
  • 网站排名对比wordpress投稿管理系统
  • 旅游网站功能现在可以去贵阳吗
  • 怎么在微信做企业网站广西旅游 网站建设