JDBC入門程式總結
阿新 • • 發佈:2021-01-19
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()