天天看點

最受開發人員歡迎的JDBC接口

MySQL三十:JDBC(重點)

資料庫驅動:

驅動:聲霸卡,顯示卡,資料庫… …

JDBC:

SUN公司為了簡化 開發人員額(對資料庫的統一)操作,提供了一個(Java操作資料庫)規範,即JDBC

這些規範的實作由具體的廠商操作

對于開發人員來說,隻需掌握JDBC接口即可。

最受開發人員歡迎的JDBC接口

java.sql

javax.sql

還需要導入一個資料庫驅動闆 mysql-connector-java-8.0.13.jar

第一個JDBC程式

  • 建立測試資料庫
CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;
USE jdbcStudy;
CREATE TABLE users (
`id` INT ,
`name` VARCHAR(40) ,
`password` VARCHAR(40),
`email` VARCHAR(60) ,
`birthday` DATE ,
PRIMARY KEY(`id`)

)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO users(`id`, `name`,`password`, `email`,`birthday`)
VALUES (1,'zhansan','123456', 'zhansanqq.com','2001-4-20'),
(2,'1isi','123456', '[email protected]','2001-4-21'),
(3, 'wangwu', '123456', '[email protected]','2001-4-22') ;      

1、建立一個普通項目

2、導入資料庫驅動

最受開發人員歡迎的JDBC接口
最受開發人員歡迎的JDBC接口
package lesson01;

import java.sql.*;

//我的第一個jdbc程式
public class JdbcFirst {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加載驅動
        Class.forName("com.mysql.jdbc.Driver");  //固定寫法,加載驅動

        //2.使用者資訊和url
        //useUnicode=true&character=Encoding=uft8&useSSL=true
        String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
        String name = "root";
        String password ="123456";
        //3.連接配接成功後返會一個資料庫對象 Connection 代表資料庫
        Connection connection = DriverManager.getConnection(url, name, password);
        //事務送出
        //事務復原
        //connection.commit();
        //connection.rollback();

        //4.執行SQL的對象  Statement 執行sql的對象
        Statement statement = connection.createStatement();

        //statement.executeQuery(); //查詢操作 傳回 ResultSet
        //statement.execute();      //執行任何SQL
        //statement.executeUpdate(); // 更新,插入,删除  都是使用這個 傳回一個受影響的行數

        //5.執行SQL的對象 去執行SQL,可能存在結果,需要檢視傳回結果
        String sql="SELECT * FROM  users";
        ResultSet resultSet = statement.executeQuery(sql); //傳回的結果集,結果集封裝了我們全部查詢出來的結果

        resultSet.getObject(); //在不知道列類型的情況下使用
        // 在知道列類型 就使用指定類型
        /*resultSet.getString();
        resultSet.getInt();
        resultSet.getFloat();
        resultSet.getDate();*/

        /*resultSet.beforeFirst(); //移動到最前面
        resultSet.afterLast();    //移動到最後面
        resultSet.next();           // 移動到下一個資料
        resultSet.previous();      // 移動到前一行
        resultSet.absolute(row);    // 移動到指定行*/


        while(resultSet.next()){
            System.out.println("id"+resultSet.getObject("id"));
            System.out.println("name"+resultSet.getObject("name"));
            System.out.println("pwd"+resultSet.getObject("password"));
            System.out.println("email"+resultSet.getObject("email"));
            System.out.println("birth"+resultSet.getObject("birthday"));
            System.out.println("===============================================");
        }
        //6.釋放連接配接
        resultSet.close();
        statement.close();
        connection.close();
    }
}