day25
JDBC
Java database connectivity
是java语言操作数据库的 api (应用程序编程接口)
java.sql.*
接口
Connection 连接 代表了java和数据之间的通道,桥梁
Statement 语句 可以用来执行 insert, update, delete , select …
ResultSet 结果集 代表的是查询的结果
类
DriverManager 工具类,获取连接对象
SQLException 异常对象 是 Exception的子类型,属于检查异常
操作步骤顺序
- 加载驱动 (Driver) jdbc的驱动就是一个连接工厂,生成的产品是连接对象
com.mysql.jdbc.Driver 是Driver的mysql实现类
oracle.jdbc.Driver 是Driver的oracle实现类
Class.forName("驱动类名");
例如:
Class.forName("com.mysql.jdbc.Driver");
jdbc 3.0 以上版本都可以省略加载驱动这一步
- 获取连接对象
DriverManager.getConnection(url, 用户名, 密码); // 内部调用了 Driver 对象获取数据库连接
url 的格式 :
jdbc:mysql://ip地址:端口号/数据库名?参数
例如:mysql数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
- 创建语句
Statement stmt = conn.createStatement();
- 执行sql
int rows = stmt.executeUpdate(); // 用来执行 insert , update, delete , DDL , 返回值代表影响行数
// delete from student where sid = 1008; 返回影响行数是0;
ResultSet rs = stmt.executeQuery(); // 用来执行 select
boolean moreRows = rs.next() 取得下一条记录,
moreRows 是true ,表示有下一条记录, false 表示没有了
while(rs.next()) {
}
// 迭代器模式
- 释放资源 ( 先打开的资源后关闭 )
rs.close();
stmt.close();
conn.close();
PreparedStatement 预编译语句对象
Statement stmt = conn.createStatement()