当前位置: 代码迷 >> 综合 >> JDBC教程学习——由浅入深(1)
  详细解决方案

JDBC教程学习——由浅入深(1)

热度:27   发布时间:2023-12-04 23:29:09.0

JDBC教程学习——由浅入深(1)

JDBC的概念

JDBC(Java DataBase Connectivity)简而言之,就是Java的数据库连接,
即就是Java和数据库连接的API(Application Programming Interface,
应用程序编程接口)。也就是说,JDBC是Java应用程序和数据库打交道的
必经之路,而一些优秀的orm框架的底层也是采用jdbc进行封装的。

JDBC与应用程序的关系

用如下一张图就可以清楚地表达清楚:
这里写图片描述

数据库连接步骤:

  • 注册驱动
  • 创建连接
  • 创建执行SQL语句
  • 执行语句
  • 处理执行结果
  • 释放相关资源

初次创建JDBC应用程序,如何和数据库创建连接:

1、导入包
在大多数情况下,可以使用import java.sql.*即可,如下所示:

//import required packages
import java.sql.*;

2、注册驱动
需要初始化驱动程序,这样就可以打开与数据库的通信。

通常注册驱动有是三种方法:

1)直接调用DriverManager的registerDriver方法进行驱动:

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

但会造成DriverManager中产生两个一样的驱动,并会对具体的驱
动类产生依赖。

具体来说就是:
1,加载的时候注册一次驱动(原因请看第三中注册方式),实例
化的时候又注册一次。所以两次。
2,由于实例化了com.mysql.jdbc.Driver.class,导致必须导
入该类(就是要把这个类import进去),从而具体驱动产生了依赖。
不方便扩展代码。

2)通过系统的属性设置注册驱动

System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");

若注册多个驱动,也可以以冒号为连接。
虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。

3)

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

一般是推荐这种方式的,因为不会对具体的驱动类产生依赖(就是不用import
package了)。

若出现该图片显示,则说明当前我们的程序与数据库的连接是正常的
这里写图片描述

创建连接(打开一个连接)

获取一个数据库的连接,就是通过DriverManager.getConnection()方法获取
数据库的连接

  • getConnection(String url);
  • getConnection(String url,Properties info);
  • getConnection(String url,String user,String password);

- getConnection(String url)
将所有信息都编写在url中进行连接:

Connection conn = DriverManager.getConnection("jdbc:mysql://locahost:3306/test?user=root&password=r66t");

- getConnection(String url,Properties info)

将用户名和密码的信息存放在一个Properties键值对中:

Properties props = new Properties();
props.put("user", "root");
props.put("password", "r66t");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",props);

- getConnection(String url,String user,String password):
通常常用方法

Connection conn = DriverManage.getConnection("jdbc:mysql:/.localhost:3306/test","root","r66t");

以上就可以完成注册和一个数据库的连接。

  相关解决方案