JDBC入门案例及相关API概述
1 JDBC概念
問題:JDBC的本質是什么,解決了什么問題?
2.API講解
<1> DriverManager的作用
問題:DriverManager有什么作用?
作用一:注冊驅動
DriverManager.registerDriver(new Driver()),但是我們不使用,我們使用Class.forName(“com.mysql.jdbc.Driver”)。
作用二:獲取連接
? Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/db14”, “root”, “root”);
參數1:連接的URL地址,如果是本機并且端口號是3306,那么localhost:3306可以省略不寫,也就是jdbc:mysql:///db14。
參數2:用戶名
參數3:密碼
<2> Connection的作用
問題:Connection對象有什么作用?
作用一:創建執行SQL語句的執行者對象
? Statement對象:Statement statement = conn.createStatement();
? PreparedStatement預編譯對象:PreparedStatement pstmt=conn.prepareStatement("")
作用二:事務管理
conn.setAutoCommit(false); //設置自動提交為false就表示開啟事務 conn.commit(); //提交事務 conn.rollback();//回滾事務<3> Statement的作用
問題:Statement對象有什么作用?
作用:執行SQL語句
執行DQL語句(查詢):ResultSet executeQuery(SQL);
? 參數:傳遞要執行的查詢語句
? 返回值:封裝查詢結果的結果集對象。
執行DML語句(增刪改):int executeUpdate(SQL);
? 參數:要執行的增刪改語句
? 返回值:影響的行數,可以通過影響的行數判斷是否執行成功。
<4> ResultSet的作用
問題:ResultSet對象有什么作用?
作用一:判斷是否有下一行數據:boolean next()
作用二:獲取該行的數據: Xxx getXxx(“列名”);
? Xxx表示不同的數據類型,例如:int getInt(“sid”); String getString(“name”)
3.JDBC入門案例
jdbc表:
<1>入門案例步驟
【前提】:導入mysql的驅動jar包
【第一步】:注冊驅動,告訴程序使用哪種數據庫
【第二步】:獲取連接,需要傳遞url、用戶名、密碼參數
【第三步】:獲取執行SQL的對象,負責CRUD
【第四步】:執行查詢操作,獲取結果
【第五步】:處理結果
【第六步】:釋放資源
<2>代碼實現
public class JdbcDemo1 {public static void main(String[] args) throws ClassNotFoundException, SQLException {//【前提】:導入mysql的驅動jar包//1.注冊驅動,告訴程序使用哪種數據//不需要我們自己調用registerDriver方法注冊驅動//Driver中有靜態代碼塊,只要我們加載它,就能注冊驅動Class.forName("com.mysql.jdbc.Driver");//mysql5之后在配置文件中配置,可省略不寫//2.獲取連接,需要傳遞url、用戶名、密碼參數//連接本機localhost:3306可以不寫Connection conn = DriverManager.getConnection("jdbc:mysql:///jdbc", "root", "123456");// Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "root", "123456");//3.獲取執行SQL的對象,負責CRUD[增查改刪]Statement statement = conn.createStatement();//4.執行sql語句,并返回結果ResultSet rs = statement.executeQuery("select * from student;");//5.處理結果while(rs.next()){//如果返回true表示有下一行元素//獲取并打印int sid = rs.getInt("sid");String name = rs.getString("name");//不區分大小寫int age = rs.getInt("age");String birthday = rs.getString("birthday");//Date birthday1 = rs.getDate("birthday"); //兩種獲取方法都行System.out.println(sid +"\t"+name+"\t"+age +"\t"+birthday);}//6.釋放資源rs.close();statement.close();conn.close();} }注:URL參數jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&usesSL=true
mysql5.0之后可省略不寫
useUnicode:支持中文編碼
characterEncoding=utf8:字符集設為utf8
utf8&usesSL=true:使用安全的連接(防止亂七八糟的錯誤)
mysql的驅動jar包資源下載
總結
以上是生活随笔為你收集整理的JDBC入门案例及相关API概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 铭萱电脑主板质量怎么样(铭瑄主板有哪些型
- 下一篇: 电脑cpu内核(电脑的内核)