1.對(duì)原生態(tài)jdbc程序中問(wèn)題總結(jié)
1.1 jdbc程序
需求:使用jdbc查詢mysql數(shù)據(jù)庫(kù)中用戶表的記錄
statement:向數(shù)據(jù)庫(kù)中發(fā)送一個(gè)sql語(yǔ)句
預(yù)編譯statement:好處:提高數(shù)據(jù)庫(kù)性能。
預(yù)編譯statement向數(shù)據(jù)庫(kù)中發(fā)送一個(gè)sql語(yǔ)句,數(shù)據(jù)庫(kù)編譯sql語(yǔ)句,并把編譯的結(jié)果保存在數(shù)據(jù)庫(kù)磚的緩存中。下次再發(fā)sql時(shí),如果sql相同,則不會(huì)再編譯,直接使用緩存中的。
jdbc編程步驟:
1. 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
2. 創(chuàng)建并獲取數(shù)據(jù)庫(kù)鏈接
3. 創(chuàng)建jdbc statement對(duì)象
4. 設(shè)置sql語(yǔ)句
5. 設(shè)置sql語(yǔ)句中的參數(shù)(使用preparedStatement)
6. 通過(guò)statement執(zhí)行sql并獲取結(jié)果
7. 對(duì)sql執(zhí)行結(jié)果進(jìn)行解析處理
8. 釋放資源(resultSet、preparedstatement、connection)
public class JDBCTest { public static void main(String[] args) { Connection connection = null; // 預(yù)編譯的Statement,使用預(yù)編譯的Statement提高數(shù)據(jù)庫(kù)性能 PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { // 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) Class.forName("com.mysql.jdbc.Driver&q