1. 程式人生 > 實用技巧 >JDBC入門程式總結

JDBC入門程式總結

JDBC本質

只是一個介面 每個資料庫的規範 就是實現類的介面
其實是官方 定義的一套操作所有關係型資料庫的規則,就是介面,各個資料庫廠商去實現這套介面,提供資料庫驅動jar包,
我們可以使用這套介面(JDBC)程式設計,真正執行的程式碼是驅動jar包中的實現類

1.mysql驅動包準備

  mysql-connector-java-5.1.47.jar

2.資料庫的準備

   CREATE TABLE `users` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '',
  `password` varchar(50) NOT NULL DEFAULT '',
  `email` varchar(50) NOT NULL DEFAULT '',
  `birthday` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

  INSERT INTO users VALUES ('1', 'zhansan', '123456', '[email protected]', '1992-0507');
  INSERT INTO users VALUES ('2', 'lisi', '123456', '[email protected]', '1996-0319');

3.載入驅動

  // 固定寫法,載入驅動
 Class.forName("com.mysql.jdbc.Driver");

4.使用者資訊

   url的寫法
   String url = "jdbc:mysql://localhost:3306/jdbc_data?useUnicode=true&characterEncoding=utf8&useSSL=true";
   使用者名稱
   String username ="root";
   密碼
   String password ="root";

5.連線成功,,返回一個數據庫物件 Connection代表資料庫

   Connection connection = DriverManager.getConnection(url, username, password);

6.執行sql的物件

  Statement 執行sql的物件
  Statement statement = connection.createStatement();

7.執行sql的物件 執行sql

   編寫sql
   String sql ="select * from users";
   返回的結果集封裝了我們全部的查詢出來的結果
   ResultSet resultSet = statement.executeQuery(sql);
   while (resultSet.next()){
            System.out.println("id:"+resultSet.getObject("id"));
            System.out.println("name:"+resultSet.getObject("name"));
            System.out.println("password:"+resultSet.getObject("password"));
            System.out.println("email:"+resultSet.getObject("email"));
            System.out.println("birthday:"+resultSet.getObject("birthday"));
        }

8.釋放連線資源

        resultSet.close();
        statement.close();
        connection.close();

總結

1.DriverManager:驅動管理物件

     註冊驅動:告訴程式應該使用哪一種資料庫驅動jar

2.Connection:數庫庫連線物件

     1.功能:
       獲取執行sql的物件
         * statement createStatement()
         * *Preparedstatement prepareStatement(String sql)
     2.管理事務:
        *開啟事務:setAutoCommit(boolean autoCommit):呼叫該方法設定引數為false 即開啟事務
        *提交事務:commit()
        *回滾事務:rollback()
     3.Statement:執行sql的物件
        執行sql
          1.boolean execute(string sql):可以執行任意的sql 瞭解
          2.int executeUpdate(string sql):執行DML(執行增刪改)(inset update delete)語句 DDL(create alter drop)語句。
          *返回值:影響的行數,可以通過這個影響的行數判斷DML語句是否執行成功,返回值>0的則執行成功 反之 則失敗
          3.ResultSet executeQuery(string sql):執行DQL(select)語句

3.ResultSet:結果集物件,封裝查詢結果

      列表就是一個結果物件
      結果集物件也是一種資源 也要關閉他。
        *boolean next():遊標向下移動一行,判斷當前行是否是最後一行末尾(是否有資料),如果是,則返回false 如果不是則返回true
        *getXxx(引數):獲取資料
        *Xxx:代表資料型別 如: int getInt(), String getString()