JDBC操作數(shù)據(jù)庫基本步驟

1.加載驅動類

??????? Class.forName("com.mysql.jdbc.Driver")//針對mysql數(shù)據(jù)庫

2.創(chuàng)建數(shù)據(jù)庫連接

??????? DriverManager.getConnection(url,username,password);

??????? getConnection有不同參數(shù)方法,這里最常用的是我列舉的這種

??????????? url格式:

???????????????? MYSQL_URL:Jdbc::mysql://localhost:3306/qingke

???????????????? Oracle URL:Jdbc:oracle:thin:@localhost:1521:qingke

3.創(chuàng)建Statement

????????? Statement(靜態(tài)SQL):connection.createStatement();

????????? PreparedStatement(動態(tài)SQL):connection.prepareStatement();

????????? CallableStatement(數(shù)據(jù)庫存儲過程):connection.prepareCall();

4.執(zhí)行SQL

????????? executeQuery:返回ResultSet(),執(zhí)行查詢數(shù)據(jù)庫的SQL語句,返回一個結果集(ResultSet)對象

????????? executeUpdate:用于執(zhí)行INSERT,UPDATE或DELETE語句以及SQL DDL語句,如CREATE TABLE和DROP TABLE

?????????? execute:用于執(zhí)行返回多個結果集,多個更新計數(shù)或二者結合的語句。

5.處理結果

?????????? 執(zhí)行更新返回的是本次操作影響到的記錄數(shù)

?????????? 執(zhí)行查詢返回的是一個ResultSet對象

6.關閉JDBC

????????? 先關閉記錄集(ResultSet)

????????? 再關閉聲明(Statement)

????????? 最后關閉連接對象(Connection)


例子

public class Connect {

???????????? public static void main(String[]args){

???????????? Connection con=null;

???????????? Statement stmt=null;

???????????? ResultSet rs=null;

???? try {

???????????? Class.forName("com.mysql.jdbc.driver");

???????????? con=DriverManager.getConnection("jdbc:mysql://localhost:3306/iwanbesuper?useSSL=false", "username", "password");

???????????? stmt=con.createStatement();

???????????? rs=stmt.executeQuery("select * from student");

???????????? while(rs.next()){

??????????????????? System.out.println(rs.getString("name"));

???????????? }

???? } catch (ClassNotFoundException e) {

????????????? e.printStackTrace();

???? } catch (SQLException e) {

????????????? e.printStackTrace();

????? }finally{

//先關閉ResultSet

????? try {

????????????? if(rs!=null){

????????????? rs.close();

????? }

????? } catch (SQLException e) {

???????????? e.printStackTrace();

?????? }

?//再關閉Statement

???? try {

???????????? if(stmt!=null){

???????????? rs.close();

???? }

???? } catch (SQLException e) {

??????????? e.printStackTrace();

????? }

//最后關閉Connection

???? try {

???????????? if(con!=null){

???????????? rs.close();

? }

? } catch (SQLException e) {

e.printStackTrace();

}

}

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • JDBC簡介 SUN公司為了簡化、統(tǒng)一對數(shù)據(jù)庫的操作,定義了一套Java操作數(shù)據(jù)庫的規(guī)范,稱之為JDBC。JDBC...
    奮斗的老王閱讀 1,628評論 0 51
  • 本人的環(huán)境為Myeclipse10、MySQL5.7.15 本文包括:簡介JDBC編程步驟打通數(shù)據(jù)庫程序詳解—Dr...
    廖少少閱讀 4,346評論 7 39
  • Dmeo1 public class Test1 { public static void main(String...
    親愛的翔子閱讀 889評論 0 1
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,628評論 18 399
  • 作者 陳思琪 三年級 人生是一盒巧克力, 你永遠不知道下一塊是什么味道。 它多種多樣, 讓人感到它是一幅畫, 它味...
    helenxxf閱讀 186評論 0 0

友情鏈接更多精彩內容