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

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

數據庫sql轉Java實體類

2019-11-14 10:50:43
字體:
來源:轉載
供稿:網友
功能不是很完善,自動生成以后,沒有轉換成小駝峰格式,待完善......
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
精品久久久久久中文字幕大豆网| 欧美裸体视频网站| 在线性视频日韩欧美| 中文字幕综合一区| 国模吧一区二区三区| 亚洲国产精品专区久久| 欧美专区中文字幕| 亚洲国产成人久久综合| 亚洲第一福利视频| 亚洲精品中文字幕女同| 中文字幕久热精品在线视频| 欧美在线视频一二三| 日本久久亚洲电影| 久久精品国产99国产精品澳门| 国产一区二区三区在线观看网站| 在线看日韩欧美| 国产国产精品人在线视| 亚洲色图50p| 亚洲女在线观看| 亚洲高清久久久久久| 92国产精品久久久久首页| 亚洲第一色在线| 欧美视频免费在线观看| 欧美日韩亚洲网| 欧美成在线观看| 欧美日韩精品在线视频| 午夜精品一区二区三区av| 久久久久九九九九| 亚洲**2019国产| 国产精品海角社区在线观看| 精品久久久久国产| 成人国产精品一区二区| 精品久久久国产精品999| 色播久久人人爽人人爽人人片视av| 久久久精品欧美| 国产日韩欧美影视| www.99久久热国产日韩欧美.com| 国模叶桐国产精品一区| 色综合老司机第九色激情| 精品久久久久久| 欧美激情久久久久久| 麻豆成人在线看| 欧美性猛交xxxx偷拍洗澡| 成人免费观看49www在线观看| 欧美性在线观看| 日韩视频免费在线| 欧美另类极品videosbestfree| 日韩**中文字幕毛片| 欧日韩在线观看| 欧美日韩在线免费观看| 精品香蕉一区二区三区| 久久影视电视剧免费网站清宫辞电视| 深夜精品寂寞黄网站在线观看| 日韩电视剧在线观看免费网站| 亚洲精选在线观看| 国产精品免费一区二区三区都可以| 国模视频一区二区三区| 亚洲精品综合精品自拍| 欧美最近摘花xxxx摘花| 亚洲精品99久久久久中文字幕| 成人h视频在线观看播放| 538国产精品一区二区在线| 亚洲免费伊人电影在线观看av| 国产精品久久久久久av福利| 欧美性在线观看| 欧美激情视频网站| 自拍偷拍免费精品| 国产精品久久久久久久久| 国产精品欧美日韩一区二区| 日本午夜人人精品| 国产精品成人一区| 黄色精品在线看| 色中色综合影院手机版在线观看| 日韩美女主播视频| 全亚洲最色的网站在线观看| 韩国v欧美v日本v亚洲| 日韩av一卡二卡| 亚洲少妇激情视频| 在线亚洲午夜片av大片| 在线播放亚洲激情| 成人xvideos免费视频| 亚洲欧美成人一区二区在线电影| 日韩精品中文字幕有码专区| 免费av一区二区| 一本色道久久88综合亚洲精品ⅰ| 亚洲最大福利网| 91tv亚洲精品香蕉国产一区7ujn| 亚洲第一视频在线观看| 日韩av一区二区在线| 欧美国产亚洲视频| 国产一区二区在线免费视频| 68精品国产免费久久久久久婷婷| 高清欧美性猛交xxxx黑人猛交| 国产欧美精品一区二区三区-老狼| 国产成人福利网站| 91网站免费看| 亚洲第一网站男人都懂| 欧美日韩综合视频| 欧美第一页在线| 欧美肥老太性生活视频| 欧美一区二区三区四区在线| 91国内在线视频| 国产精品久久久久久久美男| 欧美美女操人视频| 亚洲福利在线观看| 国产精品欧美日韩| 国产精品嫩草影院久久久| 欧美国产在线电影| 福利微拍一区二区| 性欧美视频videos6一9| 福利二区91精品bt7086| 亚洲精品国产拍免费91在线| 91九色综合久久| 亚洲97在线观看| 日韩电影中文字幕| 欧美大片欧美激情性色a∨久久| 精品高清一区二区三区| 欧美精品一区二区免费| 国产精品久久久久久久久久久不卡| 国产成人亚洲综合91精品| 日韩视频亚洲视频| 亚洲性日韩精品一区二区| 国产91色在线免费| 欧美性受xxxx黑人猛交| 国产精品高清在线观看| 91午夜在线播放| 国产精品成人一区二区| 亚洲japanese制服美女| 色老头一区二区三区在线观看| 日韩美女在线观看| 久久久精品国产网站| 国产精品v片在线观看不卡| 亚洲系列中文字幕| 91精品国产高清自在线看超| 国产成人精品a视频一区www| 久久精品国产综合| 亚洲精品按摩视频| 欧美又大又硬又粗bbbbb| 国产网站欧美日韩免费精品在线观看| 国语自产精品视频在线看| 欧美国产高跟鞋裸体秀xxxhd| 国产一区二区三区视频免费| 国产精品v片在线观看不卡| 97视频在线观看免费高清完整版在线观看| 久久不射热爱视频精品| 日韩一区二区福利| 永久免费毛片在线播放不卡| 亚洲精品网址在线观看| 日韩久久午夜影院| 国产精品电影网站| 91网站在线免费观看| 精品久久久999| 热久久免费国产视频| 日韩精品视频免费在线观看| 清纯唯美亚洲激情| 亚洲一区二区三区毛片| 韩剧1988在线观看免费完整版| 国产一区二区动漫| 国产精品va在线播放我和闺蜜| 国产男人精品视频| 伦伦影院午夜日韩欧美限制| 久久99久久久久久久噜噜| 亚洲精品99久久久久| 裸体女人亚洲精品一区|