MySQL实现JDBC详细步骤
作者:不考上研不改名TL 发布时间:2024-01-28 13:39:11
JDBC基础入门
概念
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。
  JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。
JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可,数据库驱动由数据库厂商提供。
本质
其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!
JDBC的7个步骤
(1)导入jar包
(2)注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
注意:如果使用较高版本的MySQL,必须使用 com.mysql.cj.jdbc.Driver 的方式,否则会报错!
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
如果是低版本的可以使用 com.mysql.jdbc.Driver
如果还是报错,可以使用在url上面加入时区!
url=jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC
(3)获取连接
String url = "jdbc:mysql://localhost:3306/db1";
Connection con = DriverManager.getConnection(url,"root","888888");
(4)获取执行者对象
Statement stat = con.createStatement();
(5)执行sql语句,并接收返回结果
String sql = "SELECT * FROM user";
ResultSet rs = stat.executeQuery(sql);
(6)处理结果
while(rs.next()) {
System.out.println( rs.getInt("id")
+ "\t" + rs.getString("name"));
}
(7)释放资源
con.close();
stat.close();
rs.close();
JDBC入门示例代码
Connection对象中的用户名,数据库名,密码改成你自己的哦!
public class jdbc_demo01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1.导入jar包
// 2.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 3.获取连接
String url = "jdbc:mysql://localhost:3306/db1";
Connection con = DriverManager.getConnection(url,"root","888888");
// 4.获取执行者对象
Statement stat = con.createStatement();
// 5.执行sql语句,并且接收结果
String sql = "SELECT * FROM product";
ResultSet rs = stat.executeQuery(sql);
// 6.处理结果
while(rs.next()) {
System.out.println( rs.getInt("id") + "\t"
+ rs.getString("name") + "\t"
+ rs.getInt("price") + "\t"
+ rs.getString("brand") + "\t"
+ rs.getInt("stock")
);
}
// 7。释放资源
con.close();
stat.close();
rs.close();
}
}
结果如下:
来源:https://blog.csdn.net/weixin_43715214/article/details/122994946


猜你喜欢
- opencv中内置了张正友的棋盘格标定法,通过一些姿态各异的棋盘格图像,就能标定相机的内外参数。角点检测第一步是角点检测,首先需要读取棋盘格
- 有些时候(如开发聊天程序),我们需要将将滚动条(scrollbar)保持在最底部,比如聊天窗口,最新发出和收到的信息要显示在最下方,如果要看
- 首先,我们来随便写一个带空格的列表:list1 = ['122','2333','3444'
- 前言当多线程访问同一个公共资源时,如果涉及到修改该公共资源的操作就可能会出现由于数据不同步导致的线程安全问题。一般情况下我们可以通过给公共资
- 问题今天在写项目功能的时候,有一个统计金额的情况,然后需要进行单位转换,所以写下了大概如下功能的语句,但得到的数据为小数点后4位精度,正常我
- 网上关于使用python 的发送multipart/form-data的方法,多半是采用ulrlib2 的模拟post方法,如下
- asp十进制转二进制;二进制转十进制;二进制转十六进制;十六进制转二进制;八进制转二进制'二进制转八进制;八进制转十进制;十六进制转
- 最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查
- 前言SQL Server使用TRY...CATCH 结构实现TSQL语句的错误处理,TRY命令负责监控语句执行的情况,如果有TSQL语句发生
- 我就废话不多说了,大家还是直接看代码吧~#!/usr/bin/env python# encoding: utf-8''
- 在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond 结合命令行实现。另外一种方式是直接使用
- 项目使用Pyqt作为UI框架,使用相机线程捕捉image,并在QGraphicsView中显示,遇到以下问题:1、采集的数据为nparray
- 如下所示:# -*- coding: utf-8 -*-# @Time : 2018/5/17 15:05# @Author :
- 前言嘿!一直在学习从没停下,最近的话一直没咋更新,因为小编也在忙着学编程~哈哈哈,今天刚好有时间嘛 那就给学习爬虫的小伙伴儿更新一期简单的爬
- 列表生成式可以使用列表生成式生成 列表元素。例如:列表还支持 if … else 与 for 循环组合的单行表达式进行
- 反转链表首先讨论特殊节点如果节点在首位,则反转之后,首位节点的next值为nil。func reverse(head *ListNode)
- PDO::quotePDO::quote — 为SQL语句中的字符串添加引号。(PHP 5 >= 5.1.0, PECL pdo &g
- 前言K-Means 聚类算法的目标是将 n 个样本划分(聚类)为 K 个簇,在博文《OpenCV与机器学习的碰撞》中,我们已经学习利用 Op
- 现在假如要写一个按照"标题",'内容','作者'等等进行针对性的选择,这时需要涉及到使用
- LearningjQuery.com 博客帖子列表的左边有一个很酷的日期,如图:从图中我们看到,“2009”垂直排列在右侧。用Firebug