学习笔记-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 (); } } |
四、输出结果
古今成大事者,不唯有超世之才,必有坚韧不拔之志!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)