麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

數據庫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值棧分析

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频在线观看免费视频 | 国产精品视频专区 | 日本中文字幕电影在线观看 | 在线免费观看精品 | 干一夜综合 | 91香蕉影视 | 成人辣文| 国产女同疯狂激烈互摸 | 中国洗澡偷拍在线播放 | 神马久久精品综合 | 亚洲一区二区三区视频免费 | 久久免费视频5 | 亚洲第五色综合网 | 在线日韩亚洲 | 国产精品剧情一区二区三区 | 中文字幕在线亚洲精品 | lutube成人福利在线观看污 | av手机在线免费播放 | 草草久久久 | 免费一级欧美大片视频 | 激情在线视频 | 久久国产精品久久久久久电车 | 精品国产亚洲人成在线 | 亚洲免费永久 | 国产成人av一区 | 免费网址黄 | 国产亚洲精彩视频 | 日本免费aaa观看 | 黄色片网站在线播放 | av在线日韩| 中文字幕 亚洲一区 | 中国免费一级毛片 | 久国产精品视频 | 91色成人 | 久久在线免费视频 | 午夜视 | 久草免费资源视频 | 8x成人在线电影 | 日韩中字幕 | 久久久久久久免费看 | av在线免费看网址 |