JDBC:Java Database Connective
Java提供的數據庫操作標準,由一組類和接口組成,並在操作中按照嚴格的順序執行.由於數據庫屬於資源操作,所以所有的數據庫操作的最後必須要關閉數據庫連接.
數據庫驅動程序
通常使用JDBC的時候需要配置加載數據庫廠商提供的數據庫驅動程序
這些驅動程序都是以*.jar文件的格式給出,使用前要先配置環境變量CLASSPATH
JDBC提供的類和接口
java.sql包下
DriverManager類
數據庫驅動管理類,用於獲取數據庫的連接對象
Connection接口
數據庫連接,表示數據庫的連接,通過驅動管理類獲取該接口對象
Statement接口
數據庫操作接口,通過連接對象獲取該接口對象
PreparedStatement接口
數據庫預處理操作接口,通過連接對象獲取該接口對象
ResultSet接口
數據查詢結果集接口,用於獲取查詢結果
示例代碼:(以下示例代碼是最基本的操作,自己還未敲過運行過)
通過反射加載驅動
//1.加載驅動(開發推薦的方式)
Class.forName("com.mysql.jdbc.Driver");
通過數據庫地址,數據庫名稱,數據庫密碼獲取Connection數據庫連接對象
String url = "jdbc:mysql://localhost:3306/shen";
String username = "shen";
String password = "Anxin062039";
Connection conn = null;
//2.獲取與數據庫的鏈接
conn = DriverManager.getConnection(url, username, password);
通過數據庫連接對象獲取Statement數據庫操作對象,並執行一段SQL命令
Statement st = null;
//3.獲取用於向數據庫發送sql語句的statement
st = conn.createStatement();
//4.向數據庫發sql
String sql = "select id,name,password,email,birthday from users";
st.executeQuery(sql);
也可以通過預處理操作對象來執行SQL命令
PreperedStatement st = null;
String sql = "select * from users where name=? and password=?";
//3.獲取用於向數據庫發送sql語句的Preperedstatement
st = conn.preparedStatement(sql);//在此次傳入,進行預編譯
st.setString(1, username);
st.setString(2, password);
//4.向數據庫發sql
st.executeQuery();//在這裏不需要傳入sql
獲取數據庫查詢結果集,並且取出查詢結果
ResultSet rs = null;
//4.向數據庫發sql,並獲取代表結果集的resultset
String sql = "select id,name,password,email,birthday from users";
rs = st.executeQuery(sql);
//5.取出結果集的數據
while (rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
String gender = rs.getString(3);
System.out.println("ID:"+id + " NAME:"+name+" GENDER:"+gender);
}
數據庫操作主要還是CRUD增刪改查
增加(Create)、查詢(Retrieve)、更新(Update)和刪除(Delete)
進階操作請自行看書學習,例如:批處理,事務處理,數據處理等