Java Database Connectivity.Java数据库连接技术。
JDBC体系结构是一个独立于特定数据库的管理系统,通用的SQL数据库存储和操作的公共接口。 定义了一组标准,为访问不同数据库提供了统一途径。
JDBC接口包括两个层面:
1.面向应用的API,供程序员调用。
2.面向数据库的API,供厂商开发数据库的驱动程序。
提供者:java官方
内容:供开发者调用的接口。
在java.sql和javax.sql
包括DriverManager类,Connection接口,Statement接口,Resultset接口
提供者:Java官方,作用:管理不同的JDBC驱动
JDBC驱动提供者:数据库厂商,作用:负责连接不同的数据库。
JDBC使用- 加载数据库的驱动、Java程序和数据库之间的桥梁。
try {
Class.forName("com.mysql.cj.jdbc.Driver");//反射机制
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
- 获取Connection,Java程序与数据库的一次连接。
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"; String user = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, user, password);
- 创建Statement对象,由Connection产生,执行SQL语句。
Connection connection = DriverManager.getConnection(url, user, password);
// String sql = "update test set name = '李四'";
// String sql = "insert into test(name,age,score) values('马',20,'56.5')";
// String sql = "delete from test";
String sql = "select * from student"; //预编译语句
Statement statement = connection.createStatement();//实例化预编译语句
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()){
// Integer id = resultSet.getInt("id");
String name = resultSet.getString(1);
Integer age = resultSet.getInt(2);
Double score = resultSet.getDouble(3);
System.out.println(name + "-" + age + "-" + score);
- 如果需要接收返回值,创建ResultSet对象,保存Statement执行之后所查询到的结果。
Statement statement = connection.createStatement(); int result = statement.executeUpdate(sql);
增删改用int result = statement.executeUpdate(sql);
查用ResultSet resultSet = statement.executeQuery(sql);



