JDBC简介

网友投稿 684 2022-10-23

JDBC简介

JDBC简介

/**作者:呆萌老师*☑csdn认证讲师*☑高级讲师*☑腾讯课堂认证讲师*☑网易云课堂认证讲师*☑华为开发者学堂认证讲师*☑爱奇艺千人名师计划成员*在这里给大家分享技术、知识和生活*各种干货,记得关注哦!*/

Java中给我们提供专门的一套技术,可以通过其中的那些类和接口操作任何的数据库,这个技术就是今天要学习的JDBC。

JDBC的全称为:java database connection (java和 数据库的连接 )JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用​​Java语言​​编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

​编辑

JDBC的常用类和接口

JDBC有关的类:都在java.sql 和 javax.sql 包下

​编辑

DriverManager : 数据库驱动管理类 注册驱动

Connection: 接口, 建立数据库连接的一个接口。

Statement、PreparedStatement、CallbackStatement: 向数据库发送sql,并且得到数据库的返回信息。

ResultSet: 结果集。 Statement 发送sql语句,得到的结果 封装在 ResultSet 中。

JDBC编程步骤详解

​编辑

DriverManager 驱动管理类

作用:Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接

目标:掌握Class.forName("com.mysql.jdbc.Driver"), 从哪里来的?

1、注册一个JDBC驱动程序

static void

registerDriver​​(​​Driver​​ driver)
          DriverManager​ 注册给定驱动程序。

DriverManager.registerDriver(new Driver());

注意:在实际开发中并不推荐采用registerDriver方法注册驱动。

原因:

1、对驱动API的依赖性太高。

2、驱动会注册两次。(因为mysql的驱动类Driver中已经注册一次了)

推荐方式:

// 将驱动类加载到内存中,会自动执行静态代码块中的内容

Class.forName("com.mysql.jdbc.Driver");

我们来看看com.mysql.jdbc.Driver类的源代码:

com.mysql.jdbc.Driver.java

public class Driver extends NonRegisteringDriver implements java.sql.Driver { static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Can't register driver!"); } }……}

com.mysql.jdbc.Driver类中的static块会创建本类对象,并注册到DriverManager中。这说明只要去加载com.mysql.jdbc.Driver类,那么就会执行这个static块,从而也就会把com.mysql.jdbc.Driver注册到DriverManager中,

所以可以把注册驱动类的代码修改为加载驱动类。

2、建立数据库的连接:

static ​​Connection

getConnection​​(​​String​​ url, ​String​​ user, ​​String​​ password)​
          试图建立到给定数据库 URL 的连接。

参数详解:

url :连接到具体的数据库

user : 数据用户名

password : 数据库密码

DriverManager.getConnection("jdbc:mysql://localhost:3306/day07", "root", "123");

3、URL介绍:指定一个具体的数据库

作用:URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库

语法格式:jdbc:mysql:// localhost:3306/数据库名?key=value

简写形式:jdbc:mysql:///数据库名  等价于 jdbc:mysql://localhost:3306/数据库名

简写要求:必须是本地数据库,端口号必须是3306

不建议使用简写方式

常用属性:useUnicode=true&characterEncoding=UTF-8

解决问题:中文乱码异常

举例:jdbc:mysql://localhost:3306/day07?useUnicode=true&characterEncoding=utf8

更多了解

​​https://edu./lecturer/14175030.html​​

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

上一篇:Apache Twill- 分布式应用开发框架
下一篇:spring Bean的初始化过程解析
相关文章

 发表评论

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