JDBC 詳細介紹

sun1584732發表於2021-12-30

JDBC 案例介紹

//1 匯入對應的驅動包
//2. 註冊驅動
Class.forName("com.mysql.cj.jdbc.Driver");
// 3. 獲取資料庫的連線物件
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&serverTimezone=UTC", "root", "sj123");
System.out.println(connection);
//4. 定義sql 語句
String sql = "update user set code ='aa1' where name ='孫杰' ";
//5. 獲取執行sql的物件,statement
Statement statement = connection.createStatement();
//6. 執行sql
int count = statement.executeUpdate(sql);
System.out.println(count);
//7. 釋放資源
statement.close();
connection.close();

2、 詳解各個物件

  • DriverManager 驅動管理物件
    • 功能
      1. 註冊驅動
        Class.forName(“com.mysql.cj.jdbc.Driver”);
        通過檢視原始碼發現,在com.mysql.jdbc.Driver 類中存在靜態程式碼塊 static{
        DriverManager.registerDriver(new Driver());
        }
        注意:mysql5 之後的驅動jar 包可以省略註冊驅動的步驟
      2. 獲取資料庫連結
        public static Connection getConnection(String url,
          String user, String password)
  • Connection 資料庫連線物件
    功能
      1. 獲取執行sql 的物件
      Statement createStatement();
      PreparedStatement prepareStatement(String sql);
      2. 管理實務:
      * 開啟事務: void setAutoCommit(booleam autoCommit);
      * 提交事務 void commit();
      * 回滾事務: void rollback();
  • Statement 執行sql的物件
      1. 執行sql
       boolean execute(string sql); //執行sql
       int executeUpdate(string sql);//執行DML語句(insert,update, delete)  , DDL(create,  alter,drop)語句
      *返回影響的行數 
      2 ResultSet executeQuery(string sql); //執行DQL  (select)語句
  • ResultSet 結果集物件
      while (resultSet.next()){
      System.out.println(resultSet.getObject("name").toString());
      }
  • PreparedStatement 執行sql的物件
本作品採用《CC 協議》,轉載必須註明作者和本文連結
每天進步一點點

相關文章