廢話不多說,直接上**,有注釋自己看。不明白就去看官方文件
public
t getresult
(class
clazz,string sql,object.
.. args)
}//獲取查詢結果集
rs = ps.
executequery()
;//通過resultset物件獲取resultsetmetadata物件
rsmd = rs.
getmetadata()
;//通過迴圈拿到每乙個列的別名
//我們要建立乙個map來儲存取得的資料
hashmap
hashmap =
newhashmap
();while
(rs.
next()
)}//到了這一步我們就把查詢的資料轉存到hashmap中了
//然後就要通過反射來一一對應賦值
object obj = clazz.
newinstance()
;//遍歷hashmap並通過反射賦值
set> entries = hashmap.
entryset()
;for
(map.entry
entry:entries)
//最後一步,將object賦值給entity
entity =
(t) obj;
}catch
(exception e)
finally
return entity;}--
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
-------
//下面是dbutils的**
public
class
dbutils
catch
(exception e)
}//編寫獲取連線方法
public
static connection getconnection()
throws sqlexception
//編寫關閉連線方法
public
static
void
closesource
(connection connection, preparedstatement ps, resultset rs)
catch
(sqlexception e)}if
(ps!=null)
catch
(sqlexception e)}if
(rs!=null)
catch
(sqlexception e)}}
}------
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
-------
下面是反射賦值的方法
public
class
reflecttionutils
catch
(exception e)}}
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
-------
測試部分**,我的是可以跑通的
@test
public
void
test()
throws instantiationexception, illegalacces***ception
是不是感覺美吱兒吱兒。
利用反射和JDBC元資料編寫通用的查詢方法
先貼 後給設計思路。若有對 中的方法有疑惑的可以檢視jdk幫助文件 使用 jdbc 進行查詢,將結果賦值給物件的 field,返回存放物件的 list 呼叫 preparedstatement 的 executequery 方法進行查詢 resultset 結果集,封裝可使用 jdbc 進行查詢的結...
使用jdbc編寫查詢框架
一 使用jdbc編寫查詢框架 除sql語句不同之外,根據操作的實體不同,對resultset的對映也各不相同,因此可義乙個query方法,除以引數形式接收變化的sql語句外,可以使用策略模式由qurey方法的呼叫者決定如何把resultset中的資料對映到實體物件中 在dbmanager類中 此類是...
C 利用反射編寫的SqlHelper類
以下是學習筆記 1,常用的查詢方法 例如 根據id查詢學生資訊 根據id查詢物件 查詢的物件 物件id public students find int id using 使用完會自動釋放 using sqlconnection conn new sqlconnection connstsring ...