学习笔记-JDBC连接数据库操作的步骤
前言
这里我就以JDBC连接数据库操作查询的步骤作以演示,有不到之处敬请批评指正!
一、jdbc连接简要步骤
1.加载驱动器、
2.创建connection对象、
3.创建Statement对象、
4.Statement(executeQuery方法)执行sql语句、
5.创建处理结果集对象ResultSet、
6.处理异常,关闭所有JDBC对象资源(注意关闭顺序与声明顺序相反,先关结果集对象、后关statement对象、最后关connection对象)。
二、数据库表准备
/*
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 '联系电话',
`status` int(1) DEFAULT 0 COMMENT '状态: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;
三、数据库操作代码编写
public static void main(String[] args) throws Exception {
Connection con = null;
Statement statement = null;
ResultSet rs = null;
try {
// 连接数据库url信息
String url = "jdbc:mysql://localhost:3306/project?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false";
// 用户名
String username = "root";
// 密码
String password = "song@1234";
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建connection对象
con = DriverManager.getConnection(url, username, password);
// 3.创建Statement对象
statement = con.createStatement();
String sql = "select * from sys_user"; // 创建SQL语句
// 4.创建Statement对象,executeQuery()方法执行sql
rs = statement.executeQuery(sql);
// 5.创建处理结果对象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.处理异常,关闭所有JDBC资源(注意关闭顺序与声名顺序相反,先关结果集对象,后关statement对象,最后关闭connection对象)
rs.close();
statement.close();
con.close();
}
}
四、输出结果
古今成大事者,不唯有超世之才,必有坚韧不拔之志!