JDBC利用反射編寫通用的查詢方法

2021-10-04 01:27:38 字數 2770 閱讀 8052

廢話不多說,直接上**,有注釋自己看。不明白就去看官方文件

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 ...