一、使用jdbc編寫查詢框架
除sql語句不同之外,根據操作的實體不同,對resultset的對映也各不相同,因此可義乙個query方法,除以引數形式接收變化的sql語句外,可以使用策略模式由qurey方法的呼叫者決定如何把resultset中的資料對映到實體物件中
在dbmanager類中-------------------此類是乙個資料庫連線池和框架類
public classdbmanagercatch(exception e) }
public staticconnection getconnconnection()throwssqlexception
//歸還到資料庫連線池中
public static voidrelease(connection con,statement st,resultset rs)catch(sqlexception e)
if(st !=null)
trycatch(sqlexception e)
if(con !=null)
trycatch(sqlexception e) }
//進行**優化
public static voidupdate(string sql,object params )
st.executeupdate();
}catch(sqlexception e)finally
} public staticobject find(string sql,object params,resultsethandlerrsh)throwssqlexception
rs=st.executequery();
returnrsh.handler(rs);
}finally
} }
由於不知道程式設計師是怎麼處理結果集的,所以將結果集的操作封裝到乙個介面中
如下:
public inte***ceresultsethandler
實現介面的類處理結果集
public classbeanlisthandlerimplementsresultsethandler
@override
publicobject handler(resultset rs)
//把bean物件加入到list集合中
list.add(bean); }
returnlist;
}catch(exception e) }
} 在userdaoimpl中呼叫此方法:
public voidinsert()catch(sqlexception e)
}
JDBC高階開發(2) 編寫自己的JDBC框架
元資料 資料庫 表 列的定義資訊。connection.getdatabasemetadata databasemetadata物件 geturl 返回乙個string類物件,代表資料庫的url。getusername 返回連線當前資料庫管理系統的使用者名稱。getdatabaseproductna...
JDBC利用反射編寫通用的查詢方法
廢話不多說,直接上 有注釋自己看。不明白就去看官方文件public t getresult class clazz,string sql,object.args 獲取查詢結果集 rs ps.executequery 通過resultset物件獲取resultsetmetadata物件 rsmd rs...
Spring框架的JDBC模板使用
1.spring框架中提供了很多持久層的模板類來簡化程式設計,使用模板類編寫程式會變的簡單 2.提供了jdbc模板,spring框架提供的 jdbctemplate類 3.spring框架可以整合hibernate框架,也提供了模板類 hibernatetemplate類 技術分析之演示jdbc的模...