JDBC初识

网友投稿 265 2022-09-06

JDBC初识

文章目录

​​JDBC概述​​

​​JDBC概念​​​​JDBC本质​​​​JDBC好处​​

​​简单的用JDBC操作MySQL数据库​​

​​Java操作数据库的流程​​​​实现步骤​​

JDBC概述

在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。

JDBC概念

JDBC 就是使用Java语言操作关系型数据库的一套API全称:( Java DataBase Connectivity ) Java 数据库连接

我们开发的同一套Java代码是无法操作不同的关系型数据库,因为每一个关系型数据库的底层实现细节都不一样。如果这样,问题就很大了,在公司中可以在开发阶段使用的是MySQL数据库,而上线时公司最终选用oracle数据库,我们就需要对代码进行大批量修改,这显然并不是我们想看到的。我们要做到的是同一套Java代码操作不同的关系型数据库,而此时sun公司就指定了一套标准接口(JDBC),JDBC中定义了所有操作关系型数据库的规则。众所周知接口是无法直接使用的,我们需要使用接口的实现类,而这套实现类(称之为:驱动)就由各自的数据库厂商给出。

JDBC本质

官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口各个数据库厂商去实现这套接口,提供数据库驱动jar包(提供实现类)我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类

JDBC好处

各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发可随时替换底层数据库,访问数据库的Java代码基本不变

以后编写操作数据库的代码只需要面向JDBC(接口),操作哪儿个关系型数据库就需要导入该数据库的驱动包,如需要操作MySQL数据库,就需要再项目中导入MySQL数据库的驱动包。如下图就是MySQL驱动包

简单的用JDBC操作MySQL数据库

Java操作数据库的流程

第一步:编写Java代码

第二步:Java代码将SQL发送到MySQL服务端

第三步:MySQL服务端接收到SQL语句并执行该SQL语句

第四步:将SQL语句执行的结果返回给Java代码

实现步骤

创建工程,导入驱动jar包注册驱动

Class.forName("com.mysql.jdbc.Driver"); //这个名称是固定的

获取与数据库的连接Java代码需要发送SQL给MySQL服务端,就需要先建立连接

Connection conn = DriverManager.getConnection(url, username, password);

DriverManager 驱动管理器

定义SQL语句

String sql = “update…” ;

获取执行SQL对象执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象

Statement stmt = conn.createStatement();

执行SQL

stmt.executeUpdate(sql);

处理返回结果释放资源

完整实现代码:

public class JDBCDemo { public static void main(String[] args) throws Exception { //1. 注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2. 获取连接 String url = "jdbc:mysql://127.0.0.1:3306/db1"; String username = "root"; String password = "1234"; Connection conn = DriverManager.getConnection(url, username, password); //3. 定义sql String sql = "update account set money = 2000 where id = 1"; //4. 获取执行sql的对象 Statement Statement stmt = conn.createStatement(); //5. 执行sql int count = stmt.executeUpdate(sql);//返回的是受影响的行数 //6. 处理结果 System.out.println(count); //7. 释放资源 stmt.close(); conn.close(); }}

如果可以运行,但是有一段红字: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 解决办法: 将String url = “jdbc:mysql://127.0.0.1:3306/db1”;变为String url = “jdbc:mysql://127.0.0.1:3306/sql1?useSSL=false”;也就是说加一个查询字符串即可

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JDBC-API①(DriverManager、Connection、Statement)
下一篇:首席营销官:3年还完6个亿,罗永浩骗了所有人!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~