一:JDBC的作業原理
1.JDBC API
提供者:Sun公司
內容:供程式員呼叫的介面與類,集成在java.sql和javax.sql包中,如:
DriverManager類
Connection介面
Statement介面
ResultSet介面
2.DriverManager
提供者:Sun公司
作用:管理各種不同的JDBC驅動
3.JDBC 驅動
提供者:資料庫廠商
作用:負責連接各種不同的資料庫
二:JDBC API
JDBC API主要功能:與資料庫建立連接、執行SQL 陳述句、處理結果
DriverManager :依據資料庫的不同,管理JDBC驅動
Connection :負責連接資料庫并擔任傳送資料的任務
Statement :由 Connection 產生、負責執行SQL陳述句
ResultSet:負責保存Statement執行后所產生的查詢結果
代碼:
Connection conn =null; //打開關閉資料庫用到的
Statement sta = null; // 介面 操作SQL陳述句用到的
ResultSet rs = null; // 介面 查詢Sql陳述句用到的
try {
//第一步:加載資料庫驅動
Class.forName("com.mysql.jdbc.Driver");
// 編碼集 解決亂碼 ?useEncoding=true&characterEncoding=utf8
//第二步:打開鏈接 (鏈接資料庫)
String url ="jdbc:mysql://localhost:3306/dog?useEncoding=true&characterEncoding=utf8"; //連接 myschool資料庫的路徑
String user="root"; //登錄資料庫的用戶名
String pwd="zz1314"; //登錄資料庫的密碼
conn=DriverManager.getConnection(url,user,pwd);
System.out.println("連接資料庫成功");
//第三步: 執行sql陳述句
sta = conn.createStatement();
//添加的Sql陳述句
String sql ="INSERT INTO master(`name`,`money`) VALUES('劉春雷',200),('城南壓',500)";
System.out.println(sql);
//增刪改的方法 executeUpdate(SQL陳述句)
int num=sta.executeUpdate(sql);
//第四步:處理結果
if (num>0){ //判斷是否添加成功
System.out.println("插入成功");
}
/*
修改的Sql陳述句
String sql1 = "Update dog set health=60 love=100 where id=1";
int num1=sta.executeUpdate(sql);
if (num1>0){ //判斷是否添加成功
System.out.println("插入成功");
}
//第三步: 執行sql陳述句 (占位符的方法)
String sql ="INSERT INTO master(`name`,`money`) VALUES(?,?)";
psta=conn.prepareStatement(sql);
psta.setString(1,"嘿嘿");
psta.setInt(2,100);
System.out.println(sql);
int num = psta.executeUpdate();
if (num>0)
System.out.println("插入成功");
*/
//查詢的Sql陳述句
String sql2 = "select * from master";
rs = sta.executeQuery(sql2);
while (rs.next()){ //去下一條資料,
//get 資料型別 ()方法取資料 列名 或者 下標1開始沒有0
int id =rs.getInt("id"); //接識訓取的值
String name =rs.getString("name");//接識訓取的值
int money = rs.getInt("money");
System.out.println(id+"\t"+name+"\t"+money); //輸出值
}
}catch (Exception e){
System.out.println("出現錯誤"+e.getMessage());
}finally {
//第五步: 關閉資料庫
try {
if (rs != null){
rs.close();
}
if (sta != null){
sta.close();
}
if (conn != null) {
conn.close();
}
System.out.println("關閉資料庫成功");
} catch (SQLException e) {
e.printStackTrace();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/94597.html
標籤:非技術區
