JDBC制定了统一的访问各类关系数据库的标准接口。
JDBC并不能直接访问数据库,需要依赖与数据库厂商提供的JDBC驱动程序。
1. JDBC常用类和接口 (java.sql包)
(1) DriverManager类
用于管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。
该类的方法都是静态方法,不需实例化,直接通过类名就可以调用。
getConnection(String url,String user,String password) ///连接数据库
setLoginTimeout()
println()
(2) Connection接口
通过DriverManager类的getConnection()方法获取Connection实例。
createStatement(); 创建Statement()对象,可设置参数
prepareStatement(); ///创建预处理对象
isReadOnly(); ///查看当前Connection对象是否只是只读模式
setReadOnly(); ///设置当前Connection对象是只读模式
commit(); ///使上次提交、回滚后进行的更改成为持久更改,并释放该Connection对象持有的锁
rollback(); ///取消当前事务进行的所有更改,并释放持有的锁
close(); ///立即释放该Connection对象的数据库和JDBC资源
(3) Statement接口
用于创建向数据库中传递sql语句的对象。
execute(String sql) ///执行静态的select语句
executeQuery(String sql) ///返回值是ResultSet类型的查询结果
executeUpdate(String sql) ///参数可以是insert/update/delete语句,返回值是影响数据库的条数
close() ///释放Statement实例占用的数据库和JDBC资源
addBatch(String sql) ///将给定的sql语句添加到此Statement对象的当前命令列表
executeBatch() ///将一批命令提交给数据库执行
clearBatch() ///清空此Statement对象的当前sql命令列表
(4) PrepareStatement接口 (继承自Statement)
用于执行动态sql语句
execut()
executeQuery()
executeUpdate()
(5) ResultSet接口
类似于一个临时表,用来暂存数据库查询操作所获得的结果集。
getInt()/getFloat()/getDate()/getBoolean()/getString()/getObeject() ///以某种数据类型获得当前行指定列值,参数可以是列序号或列名
next() ///将指针向下移一行
updateInt()/updateFloat()/…… ///以某种数据类型更新当前行指定列值
2. 通过JDBC操作数据库
(1) 加载数据库驱动
数据库驱动只需在第一次访问数据库时加载一次
Class.forName(String driverManager)
(2) 建立连接
Connection conn=DriverManager.getConnection(url, userName, password);
(3) 向数据库添加数据
Statement stmt=conn.createStatement();
JDBC并不能直接访问数据库,需要依赖与数据库厂商提供的JDBC驱动程序。
1. JDBC常用类和接口 (java.sql包)
(1) DriverManager类
用于管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。
该类的方法都是静态方法,不需实例化,直接通过类名就可以调用。
getConnection(String url,String user,String password) ///连接数据库
setLoginTimeout()
println()
(2) Connection接口
通过DriverManager类的getConnection()方法获取Connection实例。
createStatement(); 创建Statement()对象,可设置参数
prepareStatement(); ///创建预处理对象
isReadOnly(); ///查看当前Connection对象是否只是只读模式
setReadOnly(); ///设置当前Connection对象是只读模式
commit(); ///使上次提交、回滚后进行的更改成为持久更改,并释放该Connection对象持有的锁
rollback(); ///取消当前事务进行的所有更改,并释放持有的锁
close(); ///立即释放该Connection对象的数据库和JDBC资源
(3) Statement接口
用于创建向数据库中传递sql语句的对象。
execute(String sql) ///执行静态的select语句
executeQuery(String sql) ///返回值是ResultSet类型的查询结果
executeUpdate(String sql) ///参数可以是insert/update/delete语句,返回值是影响数据库的条数
close() ///释放Statement实例占用的数据库和JDBC资源
addBatch(String sql) ///将给定的sql语句添加到此Statement对象的当前命令列表
executeBatch() ///将一批命令提交给数据库执行
clearBatch() ///清空此Statement对象的当前sql命令列表
(4) PrepareStatement接口 (继承自Statement)
用于执行动态sql语句
execut()
executeQuery()
executeUpdate()
(5) ResultSet接口
类似于一个临时表,用来暂存数据库查询操作所获得的结果集。
getInt()/getFloat()/getDate()/getBoolean()/getString()/getObeject() ///以某种数据类型获得当前行指定列值,参数可以是列序号或列名
next() ///将指针向下移一行
updateInt()/updateFloat()/…… ///以某种数据类型更新当前行指定列值
2. 通过JDBC操作数据库
(1) 加载数据库驱动
数据库驱动只需在第一次访问数据库时加载一次
Class.forName(String driverManager)
(2) 建立连接
Connection conn=DriverManager.getConnection(url, userName, password);
(3) 向数据库添加数据
Statement stmt=conn.createStatement();