學(xué)習(xí)筆記-JDBC連接數(shù)據(jù)庫(kù)操作的步驟
前言
這里我就以JDBC連接數(shù)據(jù)庫(kù)操作查詢的步驟作以演示,有不到之處敬請(qǐng)批評(píng)指正!
一、jdbc連接簡(jiǎn)要步驟
1.加載驅(qū)動(dòng)器、
2.創(chuàng)建connection對(duì)象、
3.創(chuàng)建Statement對(duì)象、
4.Statement(executeQuery方法)執(zhí)行sql語(yǔ)句、
5.創(chuàng)建處理結(jié)果集對(duì)象ResultSet、
6.處理異常,關(guān)閉所有JDBC對(duì)象資源(注意關(guān)閉順序與聲明順序相反,先關(guān)結(jié)果集對(duì)象、后關(guān)statement對(duì)象、最后關(guān)connection對(duì)象)。
二、數(shù)據(jù)庫(kù)表準(zhǔn)備
/*
Navicat Premium Data Transfer
Source Server : localhost-swp
Source Server Type : MySQL
Source Server Version : 50730
Source Host : localhost:3306
Source Schema : project
Target Server Type : MySQL
Target Server Version : 50730
File Encoding : 65001
Date: 01/07/2022 16:36:16
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主鍵ID',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '用戶名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '密碼',
`nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '昵稱',
`gender` int(1) DEFAULT 1 COMMENT '性別:0:女 1:男',
`age` int(5) DEFAULT NULL COMMENT '年齡',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '聯(lián)系電話',
`status` int(1) DEFAULT 0 COMMENT '狀態(tài):0:正常 1:禁用',
`birthday` date DEFAULT NULL COMMENT '生日',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '備注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES ('1', 'swp', '123456', '宋偉朋', 1, 28, '18740458584', 0, '1992-05-07', '備注信息');
SET FOREIGN_KEY_CHECKS = 1;
三、數(shù)據(jù)庫(kù)操作代碼編寫(xiě)
public static void main(String[] args) throws Exception {
Connection con = null;
Statement statement = null;
ResultSet rs = null;
try {
// 連接數(shù)據(jù)庫(kù)url信息
String url = "jdbc:mysql://localhost:3306/project?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false";
// 用戶名
String username = "root";
// 密碼
String password = "song@1234";
// 1.加載驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
// 2.創(chuàng)建connection對(duì)象
con = DriverManager.getConnection(url, username, password);
// 3.創(chuàng)建Statement對(duì)象
statement = con.createStatement();
String sql = "select * from sys_user"; // 創(chuàng)建SQL語(yǔ)句
// 4.創(chuàng)建Statement對(duì)象,executeQuery()方法執(zhí)行sql
rs = statement.executeQuery(sql);
// 5.創(chuàng)建處理結(jié)果對(duì)象ResultSet
while (rs.next()){
System.out.println("id:"+rs.getObject("id"));
System.out.println("username:"+rs.getObject("username"));
System.out.println("password:"+rs.getObject("password"));
System.out.println("nickname:"+rs.getObject("nickname"));
System.out.println("gender:"+rs.getObject("gender"));
System.out.println("age:"+rs.getObject("age"));
System.out.println("phone:"+rs.getObject("phone"));
System.out.println("status:"+rs.getObject("status"));
System.out.println("birthday:"+rs.getObject("birthday"));
System.out.println("remark:"+rs.getObject("remark"));
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally {
// 6.處理異常,關(guān)閉所有JDBC資源(注意關(guān)閉順序與聲名順序相反,先關(guān)結(jié)果集對(duì)象,后關(guān)statement對(duì)象,最后關(guān)閉connection對(duì)象)
rs.close();
statement.close();
con.close();
}
}
四、輸出結(jié)果
古今成大事者,不唯有超世之才,必有堅(jiān)韌不拔之志!

浙公網(wǎng)安備 33010602011771號(hào)