学习笔记-JDBC连接数据库操作的步骤

前言

这里我就以JDBC连接数据库操作查询的步骤作以演示,有不到之处敬请批评指正!

一、jdbc连接简要步骤

1
2
3
4
5
6
1.加载驱动器、
2.创建connection对象、
3.创建Statement对象、
4.Statement(executeQuery方法)执行sql语句、
5.创建处理结果集对象ResultSet、
6.处理异常,关闭所有JDBC对象资源(注意关闭顺序与声明顺序相反,先关结果集对象、后关statement对象、最后关connection对象)。

二、数据库表准备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
 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;

三、数据库操作代码编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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();
       }
   }

四、输出结果

 

posted @   [奋斗]  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示