待整理
JDBC(java database connectivity)
1.說明:JDBC嚴格來說是一種規範(Java語言用來訪問各種關係型數據庫的規範),每種規範都有對應的編號,主要提供了一些接口
2.作用:Java使用JDBC來操作數據庫
3.數據持久化:
1.說明:把數據保存到可掉電式存儲設備中以供之後使用
2.主要實現技術:
1.JDBC
2.JDO
3.第三方的框架:Hibernate,Mybatis(使用較多)等
4.第一個JDBC應用:P01
1.開發步驟:
1.加載驅動(只需要加載一次):
Class.forName("com.mysql.jdbc.Driver");//去url的path裏搜com.mysql.jdbc.Driver這個類
2.獲得連接(Connection):
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/document","root","tiger");
3.通過連接來創建Statement,一個連接可以創建多個Statement,通過Statement發送Sql
Statement st=conn.createStatement();
st.execute("sql語句");
4.關閉資源:先關閉聲明,再關閉連接
st.close();
conn.close();
2.在elipse中添加類:
1.工程右鍵新建Folder
2.將類包粘貼到Folder下
3.工程右鍵Properties
4.Libraries中add Jars
3.小結:
1. DriverManager類:驅動程序管理器,用來驅動程序並創建連接;
1. 常用方法:getConnection(url,user,password)
2. 說明:
url:連接字符串,格式爲:協議:子協議:子名稱
user:數據庫用戶名;password:數據庫密碼
2. Connection接口:這個接口代表應用程序和數據庫的連接,使用它可以控制事務,創建Statement和blob
3. Statement接口:代表聲明,使用它可以向數據庫發送sql語句
1. 常用方法有三個,用於執行特定的sql
1. boolean execute(sql); 可執行任何sql語句,如果有記錄集(有返回結果,sql爲select時結果爲true)則結果爲true,否則爲false
2. int executeUpdate(sql); 主要用來執行可更新的DML語句(update,delete,insert),返回受影響記錄的條數
3. ResultSet executeQuery(); 專門用來執行查詢語句,返回一個結果集
4. ResultSet接口:記錄集,存儲記錄的集合
1. 常用方法:
1. boolean next():將遊標移動到下一條記錄,如果返回false,則移動到記錄集尾部
2. getXXX(int):XXX:數據庫的類型
getXXX(column_Name):XXX:數據庫的類型,得到該列名下的數據
2. 例句:
ResultSet rs=st.executeQuery("select * from `user` where salary<6050");
while(rs.next()) {
//轉換時類型必須兼容
//System.out.println(rs.getString(2));//輸出第二列的數據,數據類型爲String
int salary=rs.getInt(1);//得到第一列的數據,數據類型爲 int
String name=rs.getString("email");//得到列名爲email下的數據
String degree=rs.getString("degree");
System.out.println(salary+"\t"+name+"\t"+degree);
}
9. 時間類型的處理:
1. mysql(三種) :Date,Time,Timestamp
2. java有三種中對應的類型 :Date,Time,Timestamp,這三種類型位於java.sql,是java.util.Date的子類
3. 當在eclipse中使用時間類型的精度大於表中的精度時,會自動刪減爲小精度顯示