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

首頁 > 開發 > Java > 正文

java執行SQL語句實現查詢的通用方法詳解

2024-07-13 10:15:05
字體:
來源:轉載
供稿:網友

完成SQL查詢 并將查詢結果放入Vector容器,以便其他程序使用

/*    * 執行sql查詢語句    */public static <T> Vector<T> executeQuery(Class<T> clazz, String sql, Object... args) {	Connection conn = null;	PreparedStatement preparedstatement = null;	ResultSet rs = null;	Vector<T> vecRs = new Vector<T>();	T obj = null;	try {		conn = JDBCTools.getConnection();		preparedstatement = conn.prepareStatement(sql);		// 通過sql語句來判斷選擇了那些列 		for (int i = 0; i < args.length; i++) {			preparedstatement.setObject(i + 1, args[i]);		}		// 利用sql查詢獲取結果集 		// 利用反射創建實體類的對象 		// 獲取結果街的別名Stud_id 獲取JDBC的元數據 		// 獲取結果集每一列的值,結合上一步得到一個Map鍵值對 		// 鍵:列的別名 值:列的值 		// 在利用反射對實體類對象的屬性賦值 		// 屬性為Map的鍵 值為Map的值 		rs = preparedstatement.executeQuery();		// 獲取元數據 		ResultSetMetaData rsmd = rs.getMetaData();		Map<String, Object> mapMetaData = new HashMap<String, Object>();		// 打印一列的列名 		while (rs.next()) {			//獲取數據表中滿足要求的一行數據,并放入Map中 			for (int i = 0; i < rsmd.getColumnCount(); i++) {				String columnLabel = rsmd.getColumnLabel(i + 1);				Object columnValue = rs.getObject(columnLabel);				// System.out.println(columnLabel); 				mapMetaData.put(columnLabel, columnValue);			}			//將Map中的數據通過反射初始化T類型對象 			if (mapMetaData.size() > 0) {				obj = clazz.newInstance();				for (Map.Entry<String, Object> entry : mapMetaData.entrySet()) {					String fieldkey = entry.getKey();					Object fieldvalue = entry.getValue();					// System.out.println(fieldkey + ":" + fieldvalue); 					ReflectionUtils.setFieldValue(obj, fieldkey, fieldvalue);					//通過反射賦值				}			}			//將對象裝入Vector容器 			vecRs.add(obj);		}	}	catch (Exception e) {		e.printStackTrace();	}	return vecRs;}

其中使用到的工具類方法

獲取數據庫連接JDBCTools.getConnection()

/*    * 獲取數據庫的連接    */public static Connection getConnection() throws Exception {	Connection conn = null;	String driver = null;	String jdbcUrl = null;	String username = null;	String password = null;	// 獲取Properties對象 	Properties properties = new Properties();	InputStream in = JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");	properties.load(in);	driver = properties.getProperty("driver");	jdbcUrl = properties.getProperty("jdbcUrl");	username = properties.getProperty("user");	password = properties.getProperty("password");	Class.forName(driver);	conn = DriverManager.getConnection(jdbcUrl, username, password);	return conn;}

ReflectionUtils.setFieldValue(obj,fieldkey,fieldvalue);

將obj對象的fieldkey屬性賦值為fieldvalue

//設置對象的屬性 public static void setFieldValue(Object obj,String fieldName,Object value){	Field field=getDeclaredField(obj, fieldName);	if(field==null){		throw new IllegalArgumentException("Could not find field["+ 		    fieldName+"] on target ["+obj+"]");	}	makeAccessiable(field);	try{		field.set(obj, value);	}	catch(IllegalAccessException e){		System.out.println("不可能拋出的異常");	}}//判斷field的修飾符是否是public,并據此改變field的訪問權限 public static void makeAccessiable(Field field){	if(!Modifier.isPublic(field.getModifiers())){		field.setAccessible(true);	}}//獲取field屬性,屬性有可能在父類中繼承 public static Field getDeclaredField(Object obj,String fieldName){	for (Class<?> clazz=obj.getClass(); clazz!=Object.class; clazz=clazz.getSuperclass()){		try{			return clazz.getDeclaredField(fieldName);		}		catch(Exception e){		}	}	return null;}

總結

以上就是本文關于java執行SQL語句實現查詢的通用方法詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲a区在线视频| 人九九综合九九宗合| 高清欧美电影在线| 亚洲国产成人一区| 国产精品久久久久久超碰| 国产精品福利在线观看网址| 亚洲国产欧美日韩精品| 欧美国产日韩精品| 久久久久久久久久久久久久久久久久av| 久久在线免费观看视频| 日日骚av一区| 亚洲伊人久久综合| 国产精品免费视频xxxx| 日韩电影免费观看在线观看| 亚洲美女av在线| 日本精品视频在线观看| 欧美日韩综合视频| 亚洲经典中文字幕| 俺也去精品视频在线观看| 精品久久久久久久久国产字幕| 麻豆一区二区在线观看| 日本久久久a级免费| 久久久精品久久| 91性高湖久久久久久久久_久久99| 亚洲sss综合天堂久久| 亚洲片国产一区一级在线观看| 久久精品99无色码中文字幕| 91精品中文在线| 国语对白做受69| 91中文字幕一区| 91精品免费久久久久久久久| 在线视频日本亚洲性| 久久夜精品va视频免费观看| 国产精品视频99| 亚洲加勒比久久88色综合| 国产精品丝袜久久久久久高清| 精品福利在线视频| 在线精品视频视频中文字幕| 裸体女人亚洲精品一区| 亚洲福利视频专区| 国模gogo一区二区大胆私拍| 欧美黄色性视频| 国产精品偷伦一区二区| 国产精品久久久久av| 国产精品男人爽免费视频1| 久久亚洲欧美日韩精品专区| 欧美日韩国产一区在线| 成人免费淫片aa视频免费| 国产精品夜色7777狼人| 91麻豆国产语对白在线观看| 成人欧美一区二区三区在线湿哒哒| 国产精品影片在线观看| 欧美成人在线免费| 日韩精品视频免费| 亚洲人精品午夜在线观看| 91在线观看免费高清完整版在线观看| 大桥未久av一区二区三区| 欧美成人免费全部观看天天性色| 中文精品99久久国产香蕉| 永久免费毛片在线播放不卡| 一区二区三区在线播放欧美| 欧美极品少妇xxxxx| 在线视频日韩精品| 亚洲国产美女久久久久| 成人黄色网免费| 亚洲国产精品久久久久秋霞蜜臀| 色av吧综合网| 欧美富婆性猛交| 在线观看久久久久久| 亚洲第一男人av| 亚洲日本aⅴ片在线观看香蕉| 5566日本婷婷色中文字幕97| 亚洲精品一区二三区不卡| 韩国日本不卡在线| 萌白酱国产一区二区| 91精品久久久久久久久久久久久久| 国产精品免费小视频| 中文字幕日本欧美| 欧美激情在线狂野欧美精品| 91po在线观看91精品国产性色| 性色av香蕉一区二区| 性金发美女69hd大尺寸| 欧美主播福利视频| 国产免费一区二区三区香蕉精| 欧美精品videosex性欧美| 日韩美女视频在线观看| 亚洲欧美中文日韩在线v日本| 欧美性色xo影院| 精品国产福利视频| 国产小视频国产精品| 性色av香蕉一区二区| 亚洲女同精品视频| 亚洲精品视频网上网址在线观看| 久久天天躁夜夜躁狠狠躁2022| 久久99精品久久久久久青青91| 亚洲福利视频在线| 国产成人精品一区二区在线| 国产免费一区二区三区在线能观看| 日韩精品黄色网| 成人久久精品视频| 日韩在线观看网址| 在线日韩av观看| 九九久久久久99精品| 68精品国产免费久久久久久婷婷| 成人黄色av网| 91国内免费在线视频| 国模精品一区二区三区色天香| 自拍偷拍亚洲在线| 亚洲japanese制服美女| 久久成人亚洲精品| 日本精品一区二区三区在线| 国产一区二区色| 91中文字幕在线观看| 久久久久中文字幕| 亚洲美女在线观看| 欧美日韩综合视频网址| 亚洲人成电影网站色| 一区二区三区国产在线观看| 欧美日韩成人黄色| 一区二区中文字幕| 亚洲乱码国产乱码精品精| 日韩美女视频中文字幕| 91免费看片网站| 中文字幕视频一区二区在线有码| 91久久在线播放| 国产日韩av高清| 欧美性猛交xxxx偷拍洗澡| 美日韩精品免费观看视频| 国产精品r级在线| 久久久久中文字幕| 精品国产电影一区| 成人妇女免费播放久久久| 性亚洲最疯狂xxxx高清| 亚洲国产日韩精品在线| 国产视频久久久久久久| 欧美日韩国产在线看| 欧美成人免费全部观看天天性色| 久久精品99久久久久久久久| 亚洲一品av免费观看| 国产精品成人播放| 亚洲精品久久久久| 亚洲视频网站在线观看| 久久综合九色九九| 国产91精品久久久| 亚洲一区二区三区成人在线视频精品| 欧美在线视频在线播放完整版免费观看| 欧美性极品少妇精品网站| 青草青草久热精品视频在线观看| 久久精品视频在线观看| 久热精品在线视频| 欧美日韩一区二区三区在线免费观看| 国产日韩欧美在线看| 8090成年在线看片午夜| 国产不卡一区二区在线播放| 久久久久99精品久久久久| 中文字幕一区电影| 91精品免费久久久久久久久| 亚洲午夜久久久久久久| 欧美在线视频网站| 成人激情电影一区二区| 国产日韩欧美中文在线播放| 日韩av日韩在线观看| 久久久欧美精品| 91夜夜未满十八勿入爽爽影院|