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

本文介绍JDBC的基础概念及其与Java应用程序的交互原理。详细讲解了通过JDBC与数据库建立连接的过程,包括导入包、注册驱动、创建连接等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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");

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

比较实用,基础 目录 第一节 整理目的 3 第二节 jdbc的概念 3 2.1概念 3 2.2 Jdbc与应用程序的关系 3 2.3 数据库的连接步骤 4 2.4 Quick Start 4 第三节 如何与数据库建立连接 6 3.1 注册驱动 6 3.2 建立数据库的连接 8 3.3 规范Quick Start中的例子 10 第四节 Statement 接口的使用详解 12 4.1 Statement 的常用方法 12 4.2 CRUD操作 16 4.3 Statement有那些缺点 19 第五节 ResultSet接口的使用详解 20 第六节 JDBC 中数据类型详解 30 6.1 基本数据类型 30 6.2 日期类型 34 6.3 CLOB类型 36 6.4 BLOB类型 39 6.5 其他数据类型 41 第七节 DAO设计模式详解 41 7.1 实际项目中如何使用JDBC 41 7.2 DAO设计模式简介 42 7.3 DAO设计模式的实现 42 7.4 DAO设计模式与工厂模式的整合 49 7.5 DAO设计模式测试 52 第八节 JDBC对事务的支持 52 8.1 模拟转账 53 8.2 jdbc默认事务 54 8.3 事务提交与回滚 54 8.4 设置保存点 55 8.5 JTA事务的介绍 56 8.6 数据库的隔离级别介绍 56 8.6.1 未提交读 57 8.6.2 提交读 58 8.6.3 重复读 59 8.6.4 序列化读 60 8.7 小结 62 第九节 PreparedStatement接口的使用 62 第十节 CallableStatement接口的使用 62 9.1 无参无返回值存储过程调用 63 9.2 有参无返回值存储过程调用 63 9.3 有参有返回值存储过程调用 64 9.4 JDBC其他API 65 第十一节 元数据信息 66 11.1 数据库元数据信息 66 11.2 参数元数据信息 67 第十二节 批处理的使用 67 12.1 普通方式插入一千条数据 68 12.2 批处理方式插入一千条数据 69 第十三节 JDBC其他API 70 13.1 可滚动结果集 70 13.2 分页技术 72 13.3 可更新结果集 73 第十四节 编写一个简单的数据库连接池 74 14.1 为什么要使用数据库连接池 74 14.2 数据库连接池雏形 74 14.2 数据库连接池优化 77 14.2.1 对线程池加锁 77 14.2.2 连接不够用时抛出异常 77 14.3 数据库连接池之代理模式 78 14.3.1 静态代理 78 14.3.2 动态代理 84 14.4 DBCP数据库连接池的使用 87 第十五节 jdbc轻量级封装 88 15.1 将结果集封装为Map 88 15.1.1 ResultSetMetaData演示 88 15.1.2解决多行记录的问题 89 15.1.3 Map结果集的封装 90 15.2 将结果集封装为对象 91 15.2.1 user表POJO的编写 91 15.2.2 Bean结果集的封装 92 15.3 将结果集封装为List 94 15.4 策略模式的应用 96 15.4.1 Map结果集策略模式应用 96 15.4.2 Bean结果集策略模式应用 97 15.4.3 List结果集策略模式应用 98 15.4.4 单元测试 99 15.5 模板模式的应用 100 第十六节 近期推出 101
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值