JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源

JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。

JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

JDBC的调用原理

只要提供了接口的实现就可以连接,Java就可以连接各种类型的数据库.

下面程序用来连接数据库,进行查询操作,删除操作。

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public class JdbcTest {

@Test
public void testConnection() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取链接
String url = "jdbc:mysql://localhost:3306/test";
//3.连接数据库
Connection connection = DriverManager.getConnection(url, "root", "abc123");
System.out.println(connection);

}


@Test
public void testUpdate() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/myemployees";
//2.获取链接
Connection connection = DriverManager.getConnection(url, "root", "abc123");
//3、创建Statement对象
Statement st = connection.createStatement();
//4.写sql语句
String sql = "delete from myemp1 where id = 145";
//5.执行增删改
int count = st.executeUpdate(sql);
System.out.println(count > 0 ? "成功" : "失败");
//6.关闭链接和Statement
connection.close();
st.close();
}

@Test
public void getUsers() throws Exception {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/myemployees";
//2.获取连接
Connection connection = DriverManager.getConnection(url, "root", "abc123");
//3.创建Steamment对象
Statement createStatement = connection.createStatement();
//4.写sql语句
String sql = "select * from myemp1";
//5.执行一次查询
ResultSet executeQuery = createStatement.executeQuery(sql);
//6.获取结果集
while(executeQuery.next()) {
int id = executeQuery.getInt(1);
String name = executeQuery.getString(2);
int salary = executeQuery.getInt(3);
System.out.println("员工编号:"+id + ",员工姓名:" + name + ",员工薪资:" + salary + "元");
//封装myemp1对象
User user = new User(id,name,salary);
//打印数每一个User对象
System.out.println(user);
}
}
}