WTF is JDBC

Java Data Base Connection。

实现在Java中进行CRUD(create read update delete)操作。

JDBC 是一个规范

java中是一系列接口,规定了使用java程序连接数据库时应该实现的内容。

告诉数据库厂商,你的数据库产品要想让java程序可以进行连接操作时必须遵守的规范。

JDBC只是接口,JDBC接口的实现类是由不同的数据库厂商提供的。

JDBC 常用的接口

  • javax.sql.Connection数据库连接对象:创建与数据库之间的连接;
  • javax.sql.Statement 数据库操作对象,将SQL语句发送至数据库,返回数据库查询结果;
  • javax.sql.ResultSet 结果集对象,负责接收执行查询语句之后的查询结果。

使用JDBC操作数据库的基本注释

基本步骤

  1. CUD 可以不用返回对象,只要执行就行了;
  2. R 查询时,要使用ResultSet对象来接收查询结果。

执行查询命令的基本步骤

  1. 创建连接对象Connection
  2. 创建操作对象Statement
  3. 使用Statement对象发送查询命令
  4. 使用ResultSet对象接收查询结果
  5. 处理查询结果
  6. 关闭数据库连接

Coding

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import com.mysql.jdbc.Driver;
import con.mysql.*;

public class JDBCTest{
public static void main(String[] args){
// 创建连接对象Connection
String driverClassName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/name"
+"?useUnicode=true&characterEncoding=utf8";
String username = "root";
String password = "root";

Class.forName(driverClassName); // 反射
Connection conn = DriverManager.getConnection(url,username,password);

// 创建操作对象
Statement stat = conn.createStatement();

// 使用Statement对象发送查询命令
String sql = "select * from goods_ustb";
// 使用ResultSet对象接受查询结果
ResultSet rs = stat.executeQuery(sql);
/* 增删改时
stat.executeUpdate(sql);
*/

// 处理查询结果
while(rs.next()){
int i = rs.getInt(/*int columenindex || String culimenlabel*/ 0);
}
/* 结果集是一个二维表格。rs是一个引用,每次指向一行数据。
rs对象中两个核心方法:1.向下移动一行;2.取出这一行中某一列的值。
*/

// 关闭数据库连接
conn.close();
}
}

封装

创建工具类,一个方法是获取数据库连接,一个关闭数据库连接。

工程分层

  • domain 实体对象:封装与数据库表对应的类
  • util 工具类:整个工程通用的方法封装到工具类中
  • dao 数据访问层:封装了所有针对数据库进行CRUD操作的内容
  • service 服务/业务处理层:封装了所有业务处理规则判断代码
  • view 视图层

数据表结构三范式

  1. 表中字段的原子性。字段不可再分。
  2. 所有非主键字段都与主键字段有依赖。
Share