网络编程
位置:首页>> 网络编程>> 数据库>> Java基础之JDBC的数据库连接与基本操作

Java基础之JDBC的数据库连接与基本操作

作者:GaryLea  发布时间:2024-01-13 12:35:04 

标签:JDBC,连接数据库,操作数据库

一、JDBC概述

  • JDBC全称Java Database Connectivity,它是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口,定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源

  • 通俗的来说,JDBC就是让我们通过Java来连接任何提供了JDBC驱动程序的数据库系统,比如我有一个SQLServer数据和一个Mysql数据库,我可以通过Java的JDBC来完成前面学习SQL中的所有操作,而无需在命令行来分别连接它们两个,就像这样

Java基础之JDBC的数据库连接与基本操作 

二、JDBC操作数据库、操作表步骤

我来总结一下JDBC操作数据库与表的步骤,然后详细来介绍它们

1.注册驱动 (只做一次)

2.建立连接(Connection)

3.创建执行SQL的语句(Statement)

4.执行语句

5.处理执行结果(ResultSet)

6.释放资源

看到这里是不是很熟悉,没错,就跟我们前面学习Mysql一样,首先我来介绍一下JDBC的结构与数据库的连接

三、JDBC体系结构与JDBC API

JDBC体系结构由下面两部分组成:

  • 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。

  • 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序使用

JDBC API

  • JDBC API 是一系列的接口,它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果

Java基础之JDBC的数据库连接与基本操作 

四、注册与加载驱动

Driver接口

  • java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现

  • 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

  • Oracle的驱动:oracle.jdbc.driver.OracleDriver

  • mySql的驱动: com.mysql.jdbc.Driver

加载与注册JDBC驱动

前面我们说了,JDBC就是通过一个接口和不同数据库提供了JDBC的驱动来完成数据的操作,因此,我们将驱动加载到JDBC中,加载驱动有两种方式:

方式一:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名


Class.forName(“com.mysql.jdbc.Driver”);

方式二:DriverManager 类是驱动程序管理器类,负责管理驱动程序


DriverManager.registerDriver(com.mysql.jdbc.Driver);

通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例

五、建立连接(Connection)

  • 当我们注册并加载驱动后,就可以连接数据库了,方法和前面我们学习Mysql一样,首先需要输入账号,密码等信息

  • 在JDBC中,我们需要调用DriverManager 类的 getConnection() 方法建立到数据库的连接

  • user,password可以用“属性名=属性值”方式告诉数据库;

  • 在JDBC中连接数据库需要一个特殊的属性,JDBC URL,它用于连接我们需要操作的数据库

  • JDBC URL的标准由三部分组成,各部分间用冒号分隔。


jdbc:子协议:子名称
协议:JDBC URL中的协议总是jdbc
子协议:子协议用于标识一个数据库驱动程序
子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息。包含主机名(对应服务端的ip地址),端口号,数据库名

下面我来列举几个常见的JDBC URL,大家使用的时候直接复制就好


// 对于 Oracle 数据库连接,采用如下形式:
jdbc:oracle:thin:@localhost:1521:DatabaseName
// 对于 SQLServer 数据库连接,采用如下形式:
jdbc:microsoft:sqlserver//localhost:1433; DatabaseName=sid
// 对于 MYSQL 数据库连接,采用如下形式:  
jdbc:mysql://localhost:3306/DatabaseName
// 插入中文的时候,这个url要写成这个
jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8

小伙伴们注意一下,当我们使用Java向数据库中插入一个数据时,如果是中文,首先数据库和表的编码是utf8,其次就是我们要在URL中声明一下编码是UTF-8,不然插入数据是?,如果你们遇到这个问题,那就忽略它

来源:https://blog.csdn.net/Li_G_yuan/article/details/116306419

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com