MySQL三十:JDBC(重點)
資料庫驅動:
驅動:聲霸卡,顯示卡,資料庫… …
JDBC:
SUN公司為了簡化 開發人員額(對資料庫的統一)操作,提供了一個(Java操作資料庫)規範,即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、導入資料庫驅動
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();
}
}