亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

數據庫sql轉Java實體類

2019-11-14 11:46:17
字體:
來源:轉載
供稿:網友
功能不是很完善,自動生成以后,沒有轉換成小駝峰格式,待完善......
package com.bookingctrip.api.manual.utils;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PRintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.Date;public class GenEntityMySQL {	private String packageOutPath = "com.bookingctrip.api.vo";// 指定實體生成所在包的路徑	private String authorName = "lv617";// 作者名字	private String tablename = "coupon_batch";// 表名	private String[] colnames; // 列名數組	private String[] colTypes; // 列名類型數組	private int[] colSizes; // 列名大小數組	private boolean f_util = false; // 是否需要導入包java.util.*	private boolean f_sql = false; // 是否需要導入包java.sql.*	// 數據庫連接	private static final String URL = "jdbc:mysql://127.0.0.1:3306/bookingctrip_api";	private static final String NAME = "root";	private static final String PASS = "123456";	private static final String DRIVER = "com.mysql.jdbc.Driver";	/*	 * 構造函數	 */	public GenEntityMysql() {		// 創建連接		Connection con;		// 查要生成實體類的表		String sql = "select * from " + tablename;		PreparedStatement pStemt = null;		try {			try {				Class.forName(DRIVER);			} catch (ClassNotFoundException e1) {				e1.printStackTrace();			}			con = DriverManager.getConnection(URL, NAME, PASS);			pStemt = con.prepareStatement(sql);			ResultSetMetaData rsmd = pStemt.getMetaData();			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")) {					f_util = true;				}				if (colTypes[i].equalsIgnoreCase("image") || colTypes[i].equalsIgnoreCase("text")) {					f_sql = true;				}				colSizes[i] = rsmd.getColumnDisplaySize(i + 1);			}			String content = parse(colnames, colTypes, colSizes);			try {				 File directory = new File("");				 System.out.println("絕對路徑:"+directory.getAbsolutePath());				 System.out.println("相對路徑:"+directory.getCanonicalPath());				String path = this.getClass().getResource("").getPath();				System.out.println(path);				System.out.println("src/?/" + path.substring(path.lastIndexOf("/com/", path.length())));				String outputPath = directory.getAbsolutePath() + "/src/"						+ path.substring(path.lastIndexOf("/com/", path.length()), path.length()) + initcap(tablename)						+ ".java";				String outputPath2 = directory.getAbsolutePath() + "/src/" + this.packageOutPath.replace(".", "/") + "/"						+ initcap(tablename) + ".java";				System.out.println(outputPath);				System.out.println(outputPath2);				FileWriter fw = new FileWriter(						"D://LYSTWork//bookingctrip//war//api//src//main//java//com//bookingctrip//api//vo//"								+ initcap(tablename) + ".java");				PrintWriter pw = new PrintWriter(fw);				pw.println(content);				pw.flush();				pw.close();			} catch (IOException e) {				e.printStackTrace();			}		} catch (SQLException e) {			e.printStackTrace();		}	}	/**	 * 功能:生成實體類主體代碼	 * 	 * @param colnames	 * @param colTypes	 * @param colSizes	 * @return	 */	private String parse(String[] colnames, String[] colTypes, int[] colSizes) {		StringBuffer sb = new StringBuffer();		// 判斷是否導入工具包		sb.append("package " + this.packageOutPath + ";/r/n");		if (f_util) {			sb.append("import java.util.Date;/r/n");		}		if (f_sql) {			sb.append("import java.sql.*;/r/n");		}		sb.append("/r/n");		// 注釋部分		sb.append("   /**/r/n");		sb.append("    * " + tablename + " 實體類/r/n");		sb.append("    * " + new Date() + " " + this.authorName + "/r/n");		sb.append("    */ /r/n");		// 實體部分		sb.append("/r/n/r/npublic class " + initcap(tablename) + "{/r/n");		processAllAttrs(sb);// 屬性		processAllMethod(sb);// get set方法		sb.append("}/r/n");		// System.out.println(sb.toString());		return sb.toString();	}	/**	 * 功能:生成所有屬性	 * 	 * @param sb	 */	private void processAllAttrs(StringBuffer sb) {		for (int i = 0; i < colnames.length; i++) {			sb.append("/tprivate " + sqlType2JavaType(colTypes[i]) + " " + colnames[i] + ";/r/n");		}	}	/**	 * 功能:生成所有方法	 * 	 * @param sb	 */	private void processAllMethod(StringBuffer sb) {		for (int i = 0; i < colnames.length; i++) {			sb.append("/tpublic void set" + initcap(colnames[i]) + "(" + sqlType2JavaType(colTypes[i]) + " "					+ colnames[i] + "){/r/n");			sb.append("/tthis." + colnames[i] + "=" + colnames[i] + ";/r/n");			sb.append("/t}/r/n");			sb.append("/tpublic " + sqlType2JavaType(colTypes[i]) + " get" + initcap(colnames[i]) + "(){/r/n");			sb.append("/t/treturn " + colnames[i] + ";/r/n");			sb.append("/t}/r/n");		}	}	/**	 * 功能:將輸入字符串的首字母改成大寫	 * 	 * @param str	 * @return	 */	private String initcap(String str) {		char[] ch = str.toCharArray();		if (ch[0] >= 'a' && ch[0] <= 'z') {			ch[0] = (char) (ch[0] - 32);		}		return new String(ch);	}	/**	 * 功能:獲得列的數據類型	 * 	 * @param sqlType	 * @return	 */	private String sqlType2JavaType(String sqlType) {		if (sqlType.equalsIgnoreCase("bit")) {			return "boolean";		} else if (sqlType.equalsIgnoreCase("tinyint")) {			return "byte";		} else if (sqlType.equalsIgnoreCase("smallint")) {			return "short";		} else if (sqlType.equalsIgnoreCase("int")) {			return "int";		} else if (sqlType.equalsIgnoreCase("bigint")) {			return "long";		} else if (sqlType.equalsIgnoreCase("float")) {			return "float";		} else if (sqlType.equalsIgnoreCase("decimal") || sqlType.equalsIgnoreCase("numeric")				|| sqlType.equalsIgnoreCase("real") || sqlType.equalsIgnoreCase("money")				|| sqlType.equalsIgnoreCase("smallmoney")) {			return "double";		} else if (sqlType.equalsIgnoreCase("varchar") || sqlType.equalsIgnoreCase("char")				|| sqlType.equalsIgnoreCase("nvarchar") || sqlType.equalsIgnoreCase("nchar")				|| sqlType.equalsIgnoreCase("text")) {			return "String";		} else if (sqlType.equalsIgnoreCase("datetime")) {			return "Date";		} else if (sqlType.equalsIgnoreCase("image")) {			return "Blod";		}		return null;	}	/**	 * 出口 TODO	 * 	 * @param args	 */	public static void main(String[] args) {		new GenEntityMysql();	}}
上一篇:190. Reverse Bits

下一篇:struts2值棧分析

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产成人高清视频| 国产精品久久久久久久久久东京| 91福利视频在线观看| 黑人狂躁日本妞一区二区三区| 欧美一区二区三区艳史| 97婷婷大伊香蕉精品视频| 国产成人精品a视频一区www| 成人激情免费在线| 在线视频国产日韩| 日韩av理论片| 亚洲第一精品自拍| 在线视频精品一| 亚洲日本成人网| 免费av在线一区| 亚洲精品999| 午夜免费久久久久| 精品国产一区二区三区久久狼黑人| 日韩免费观看在线观看| 91久久精品在线| 精品国产乱码久久久久久虫虫漫画| 成人黄色中文字幕| 久久久国产视频| 一本大道久久加勒比香蕉| 992tv成人免费影院| 欧美激情亚洲另类| 91麻豆国产语对白在线观看| 欧美xxxx做受欧美.88| 亚洲激情久久久| 国产精品v片在线观看不卡| 欧美激情亚洲自拍| 日韩精品免费在线视频观看| 亚洲国产精品专区久久| 亚洲国产精久久久久久| 91在线视频免费| 亚洲人午夜精品免费| 欧美性xxxx极品hd满灌| 国产精品美女主播| 中文字幕av一区二区| 日本视频久久久| 97色在线视频| 中文字幕av一区二区三区谷原希美| 97超碰蝌蚪网人人做人人爽| 日韩精品视频免费专区在线播放| 亚洲午夜精品视频| 亚洲一级黄色av| 中文字幕av日韩| 色悠悠久久88| 国产噜噜噜噜噜久久久久久久久| 国产精品白嫩美女在线观看| www.国产精品一二区| 色中色综合影院手机版在线观看| 亚洲精品成人久久久| 欧美最猛性xxxxx(亚洲精品)| 日韩欧美在线视频日韩欧美在线视频| 欧美俄罗斯性视频| 18一19gay欧美视频网站| 亚洲激情视频在线播放| 欧美极度另类性三渗透| 国产精品亚洲精品| 黄色一区二区在线| 亚洲第一视频网站| 欧洲成人午夜免费大片| 欧美另类极品videosbestfree| 青青久久aⅴ北条麻妃| 一本色道久久88综合日韩精品| 热99在线视频| 韩国国内大量揄拍精品视频| 久久久久久九九九| 日韩精品极品毛片系列视频| 日韩av综合中文字幕| 日韩国产中文字幕| 国产精品亚洲激情| 色琪琪综合男人的天堂aⅴ视频| 97精品视频在线播放| 日韩国产精品亚洲а∨天堂免| 国产视频观看一区| 精品久久久久久亚洲精品| 成人国产精品免费视频| 成人黄色片在线| 日韩av电影手机在线观看| 麻豆乱码国产一区二区三区| 国产福利视频一区二区| 欧美激情乱人伦一区| 国产日本欧美一区二区三区在线| 欧美极度另类性三渗透| 久久这里只有精品视频首页| 成人有码在线播放| 国产亚洲精品久久| 一级做a爰片久久毛片美女图片| 亚洲男人第一av网站| 国产精品视频区1| 日韩中文字幕在线| 日韩欧美中文字幕在线观看| 亚洲精品美女在线观看| 亚洲白虎美女被爆操| 欧美日韩视频免费播放| 亚洲一区二区三区四区视频| 欧美性高潮床叫视频| 国产在线观看不卡| 中文字幕一区二区三区电影| 97视频在线观看视频免费视频| 国产啪精品视频网站| 日韩欧美在线中文字幕| 欧美激情第99页| 久久天天躁狠狠躁夜夜躁| 91色视频在线观看| 欧美中文在线视频| 日韩成人激情在线| 中日韩午夜理伦电影免费| 亚洲香蕉成视频在线观看| 国产精品专区h在线观看| 成人自拍性视频| 久久影视电视剧免费网站| 日韩高清电影好看的电视剧电影| 国产精品美女在线观看| 国产美女久久精品香蕉69| 成人字幕网zmw| 国产欧美日韩免费看aⅴ视频| 一本色道久久综合狠狠躁篇怎么玩| 亚洲第一页在线| 国产va免费精品高清在线| 66m—66摸成人免费视频| 亚洲国产精品嫩草影院久久| 亚洲福利视频二区| 日韩av综合网站| 国产精品尤物福利片在线观看| 久久久999国产精品| 51色欧美片视频在线观看| 成人性生交xxxxx网站| 亚洲人成网站999久久久综合| 亚洲日韩中文字幕在线播放| 日韩av电影手机在线观看| 亚洲精品www久久久| 91精品视频观看| 97高清免费视频| 日韩在线播放视频| 成人欧美一区二区三区在线湿哒哒| 亚洲一区制服诱惑| 国产欧美久久久久久| 91网在线免费观看| 国产精品日韩av| 国产日韩欧美视频在线| 亚洲乱码国产乱码精品精天堂| 久久综合伊人77777| 亚洲三级 欧美三级| 91精品综合视频| 91亚洲国产精品| 欧美乱大交xxxxx| 亚洲精品乱码久久久久久金桔影视| 亚洲日韩中文字幕| 91九色国产视频| 欧美一区二区.| 国产精品中文字幕久久久| 午夜欧美大片免费观看| 欧美黑人巨大精品一区二区| 91亚洲永久免费精品| 日韩中文字幕免费| 国产一区二区香蕉| 亚洲欧美精品伊人久久| 中文字幕亚洲色图| 欧洲亚洲在线视频| 久久久久国产精品一区| 日韩av电影院| 亚洲人线精品午夜|