web02-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的编程。

发布了26 篇原创文章 · 获赞 1 · 访问量 606

猜你喜欢

转载自blog.csdn.net/laonxs/article/details/104174967