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

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

數據庫sql轉Java實體類

2019-11-14 10:21:28
字體:
來源:轉載
供稿:網友
功能不是很完善,自動生成以后,沒有轉換成小駝峰格式,待完善......
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();	}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久国产| 亚洲精品自拍第一页| 日韩欧美在线视频| 亚洲国产高清自拍| 亚洲免费视频在线观看| 欧美精品电影免费在线观看| 欧美性xxxx极品hd欧美风情| 懂色aⅴ精品一区二区三区蜜月| 欧美午夜久久久| 久久久久久国产精品美女| 国产精品一区二区性色av| 欧美在线中文字幕| 美日韩丰满少妇在线观看| 国产精品日日做人人爱| 久久久亚洲国产天美传媒修理工| 欧美电影在线观看| 精品欧美aⅴ在线网站| 亚洲第一精品电影| 亚洲影院色在线观看免费| 日韩精品极品视频| 8090理伦午夜在线电影| 亚洲自拍欧美色图| 96国产粉嫩美女| 亚洲国产高清高潮精品美女| 国模私拍一区二区三区| 亚洲自拍小视频| 91沈先生作品| 78m国产成人精品视频| 久久久噜噜噜久久久| 3344国产精品免费看| 日韩亚洲在线观看| 久久久免费在线观看| 亚洲色图日韩av| 亚洲精品一区在线观看香蕉| 亚洲人成网站777色婷婷| 久久久久久久久久婷婷| 欧美一级在线亚洲天堂| 久久中文字幕在线视频| 国产精品va在线| 亚洲精品电影网在线观看| 精品久久久一区二区| 91精品国产自产在线观看永久| 亚洲欧美另类自拍| 国产精品偷伦视频免费观看国产| 亚洲男人天堂手机在线| 亚洲一区二区三区sesese| 亚洲色图在线观看| 亚洲精品美女久久久| 欧美麻豆久久久久久中文| 亚洲欧美国产日韩中文字幕| 国产精品第100页| 亚洲人成人99网站| 久久精品一偷一偷国产| 欧美在线免费视频| 日韩美女视频在线观看| 亚洲人成人99网站| 亚洲精品电影网| 亚洲成人网av| 91伊人影院在线播放| 日韩电影中文字幕在线| 91精品国产综合久久男男| 在线播放日韩av| 国产精品女主播视频| 欧美激情中文网| 欧美性高跟鞋xxxxhd| 日本欧美中文字幕| 91黑丝高跟在线| 亚洲欧美激情另类校园| 欧美专区在线播放| 欧美视频在线免费看| 黑人巨大精品欧美一区二区一视频| 国产精品美女久久久久久免费| 亚洲热线99精品视频| 热99久久精品| 国产成人在线一区二区| 成人xvideos免费视频| 日韩成人xxxx| 亚洲va男人天堂| 亚洲v日韩v综合v精品v| 色综合久久天天综线观看| 热re91久久精品国99热蜜臀| www.欧美精品一二三区| 国产精品jvid在线观看蜜臀| 欧美日韩激情视频8区| 久久在线免费观看视频| 欧美激情手机在线视频| 亚洲最大av网站| 精品久久久久久国产| 久久国产精品久久久久久久久久| 成人免费大片黄在线播放| 欧美二区在线播放| 久久久97精品| 亚洲激情视频网站| 日日摸夜夜添一区| 久久99热精品这里久久精品| 国产精品高潮粉嫩av| 亚洲爱爱爱爱爱| 欧美日韩激情小视频| 国产精品视频午夜| 亚洲国产精品久久久久秋霞蜜臀| 欧美在线观看www| 精品无码久久久久久国产| 欧美巨大黑人极品精男| 日韩精品中文字幕视频在线| 亚洲精品福利资源站| 国产精品高清在线观看| 中文字幕在线视频日韩| 神马久久久久久| 久久天天躁狠狠躁夜夜躁| 98精品国产高清在线xxxx天堂| 国产伊人精品在线| 国产日韩欧美中文在线播放| www.欧美视频| 亚洲人成电影网站色…| 日韩中文字幕在线视频| 欧美视频专区一二在线观看| 九九综合九九综合| 亚洲人在线观看| 亚洲aⅴ日韩av电影在线观看| 午夜精品三级视频福利| 亚洲国产精品人人爽夜夜爽| 91日本在线视频| 中文字幕日韩在线视频| 日韩精品在线观看一区| 亚洲男人第一av网站| 国产精品久久久一区| 日韩精品久久久久| 中文日韩在线观看| 黑人极品videos精品欧美裸| 国产精品第一视频| 久久99精品视频一区97| 久久久久国产精品www| 91久热免费在线视频| 成人乱人伦精品视频在线观看| 日韩中文字幕在线看| 成人高h视频在线| www.久久久久久.com| 日本久久久久亚洲中字幕| 亚洲成人教育av| 日韩av中文在线| 亚洲资源在线看| 国产精品丝袜高跟| 91免费精品国偷自产在线| 国产91精品视频在线观看| 欧美—级高清免费播放| 久久久国产精品亚洲一区| 在线电影欧美日韩一区二区私密| 成人免费网站在线| 国内精品一区二区三区四区| 日本韩国在线不卡| 怡红院精品视频| 欧美激情2020午夜免费观看| 九九热视频这里只有精品| 这里只有精品久久| 久久成人国产精品| 国产成人精品一区二区在线| 91av成人在线| 国产91成人video| 欧美黄色小视频| 国产精品爱久久久久久久| 日韩专区在线观看| 国产精品日韩欧美大师| 国产精品免费久久久久影院| 欧美日韩激情视频8区|