JDBC學習小結
一、JDBC:java語言操作數據庫的一種技術(規範)。
二、JDBC中的4個核心對象
DriverManager類,註冊驅動、建立連接對象,在java.sql.DriverManager;
Connection接口,獲取執行sql語句的對象,在java.sql.Connection;
Statement接口,執行SQL語句,在java.sql.Statement;
PreparedStatement接口,在java.sql.PreparedStatement; 實際開發中使用它
ResultSet接口,客戶端存表數據的對象,在java.sql.ResultSet;
三、
DriverManager類,註冊驅動、建立連接對象,在java.sql.DriverManager;
registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver");
getConnection(url, username, password);
Connection接口,獲取執行sql語句的對象,在java.sql.Connection;
stmt = createStatement();
pstmt = prepareStatement("select * from users where id = ? and name = ?");
pstmt.getInt(1, 4);
pstmt.getString(2, bruce);
Statement接口,執行SQL語句,在java.sql.Statement;
ResultSet executeQuery(sql); // 執行 select 語句
int executeUpdate(sql); // 執行 insert、 update、delete 語句
boolean execute(sql); // 僅當執行的是 select 語句,且有返回結果時返回true,其它語句都返回false。
ResultSet executeQuery();
int executeUpdate();
boolean execute();
ResultSet接口,客戶端存表數據的對象,在java.sql.ResultSet;
boolean next(); // 把遊標向下移動一行
int getInt(int columnIndex); // 根據列號進行查找,列號從1開始(根據列的索引查找,索引從1開始)
int getInt(String columnName); // 根據列名進行查找
double getDouble();
float getFloat();
String getString();
Date getDate();
...
PreparedStatement接口,在java.sql.PreparedStatement;
特點:(安全高效,防止惡義SQL語法)
1、性能要高;PreparedStatement實例包含已編譯的SQL語句,所以其執行速度要快於Statement對象。
2、會把sql語句先編譯。
3、sql語句中的參數會發生變化,過濾掉用戶輸入的關鍵字。