web jdbc
jdbc 概述
Java Data Base Connectivity(Java数据库连接),官方解释它是Java和广泛数据库之间连接标准的Java API。根本上说,JDBC是一种规范,它提供的接口,一套完整的,允许便捷式访问底层数据库的标准。简单说它就是JAVA与数据库之间连接的桥梁或者插件,用JAVA代码就能操作数据库的增删改查、存储过程、事务等。
jdbc 简单入门
环境准备
- 创建数据库和表
- 创建项目
- 引入jar包
- mysql-connector-java-5.1.44-bin.jar
代码实现
- 加载驱动
```
Class.forName("com.mysql.jdbc.Driver");
```
- 获取连接
```
Connection conn = DriverManager.getConnection("url", "user", "password");
```
- 操作sql
```
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sql);
```
- 释放资源
```
rs.close();
statement.close();
conn.close();
```
jdbc api 详解
DriverManager
两个作用:
- 注册驱动,开发中一般不用
- 获得连接 DriverManager.getConnection(“url”, “user”, “password”);
Connection
两个作用:
- 创建连接数据库的对象
- Statement–执行SQL
- CallableStatement–执行数据库中存储过程
- PreparedStatement–执行SQL.对SQL进行预处理。解决SQL注入漏洞
- 管理事务
Statement
两个作用:
- 执行sql
- 执行批处理
ResultSet
两个作用:
- 结果集的遍历
- 结果集的获取
jdbc 资源释放
与数据库交互的对象资源非常稀有,需要做到晚创建,早释放
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
数据库连接池
连接池是装有连接的容器,使用连接的话,可以从连接池中进行获取,使用完成之后将连接归还给连接池。
连接对象创建和销毁是需要耗费时间的,在服务器初始化的时候就初始化一些连接。把这些连接放入到内存中,使用的时候可以从内存中获取,使用完成之后将连接放入连接池中。从内存中获取和归还的效率要远远高于创建和销毁的效率。(提升性能)。
Druid 连接池
C3P0 连接池
DBUtils
对JDBC的简单封装,而且没有影响性能。
JDBC手写比较麻烦,而且有非常多的代码是类似的。比如获得连接,预编译SQL,释放资源等…那么可以将这些代码抽取出来放到工具类中。将类似的代码进行抽取。大大简化JDBC的编程。