Tip:元數據- DataBaseMetaData
元數據:數據庫、表、列的定義信息。
Connection.getDatabaseMetaData()
DataBaseMetaData對象
getURL():返回一個String類對象,代表數據庫的URL。
getUserName():返回連接當前數據庫管理系統的用戶名。
getDatabaseProductName():返回數據庫的產品名稱。
getDatabaseProductVersion():返回數據庫的版本號。
getDriverName():返回驅動驅動程序的名稱。
getDriverVersion():返回驅動程序的版本號。
isReadOnly():返回一個boolean值,指示數據庫是否只允許讀操作。
Tip:元數據- ParameterMetaData
PreparedStatement . getParameterMetaData()
獲得代表PreparedStatement元數據的ParameterMetaData對象。
Select * from user where name=? And password=?
ParameterMetaData對象
getParameterCount()
獲得指定參數的個數
getParameterType(int param)
獲得指定參數的sql類型
原來由jdbcUtil創建連接,現在由dataSource創建連接,爲實現不和具體數據爲綁定,因此datasource也應採用配置文件的方法獲得連接。
Tip:元數據- ResultSetMetaData
ResultSet. getMetaData()
獲得代表ResultSet對象元數據的ResultSetMetaData對象。
ResultSetMetaData對象
getColumnCount()
返回resultset對象的列數
getColumnName(int column)
獲得指定列的名稱
getColumnTypeName(int column)
獲得指定列的類型
Tip:使用元數據簡化JDBC代碼
業務背景:系統中所有實體對象都涉及到基本的CRUD操作:
所有實體的CUD操作代碼基本相同,僅僅發送給數據庫的SQL語句不同而已,因此可以把CUD操作的所有相同代碼抽取到工具類的一個update方法中,並定義參數接收變化的SQL語句。
實體的R操作,除SQL語句不同之外,根據操作的實體不同,對ResultSet的映射也各不相同,因此可義一個query方法,除以參數形式接收變化的SQL語句外,可以使用策略模式由qurey方法的調用者決定如何把ResultSet中的數據映射到實體對象中。
Tip:O-R Mapping簡介
什麼是O-R Mapping
常用O-R Mapping映射工具
Hibernate
Ibatis
Commons DbUtils(只是對JDBC簡單封裝)
轉自:http://www.cdtarena.com/javapx/201304/8396.html