DriverManager类
DriverManager类用来管理数据库中的所有驱动程序;是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。此外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪信息的显示等事务。DriverManager类中的方法都是静态方法,所以在程序中无须对它进行实例化,直接通过类名就可以调用。DriverManager类的常用方法如下: setLoginTimeout()设置驱动程序试图登录到某一数据库时可以等待的最长时间,以秒为单位; println(String message)将一条消息打印到当前JDBC日志流中。
Connection接口
Connection接口代表与特定的数据库的连接。要对数据表中的数据进行操作,首先要获取数据库连接。Connection实例就像在应用程序与数据库之间开通了一条渠道。可以通过DriverManager类的getConnection()方法获取Connection实例。
Connection接口的常用方法如下:
createStatement()创建Statement对象
createStatement(int resultSetType,int resultSetConcurrency) 创建一个Statement对象,该对象将生成具有给定类型、并发性和可保存性的ResultSet对象
prepareStatement()创建预处理对象PreparedStatement
isReadOnly()查看当前Connection对象的读取模式是否是只读形式
commit()使所有上一次提交、回滚后进行的更改成为持久更改,并释放此
Connection对象当前持有的所有数据库锁
roolback()取消在当前事务中进行的所有更改,并释放此Connection对象当前持有的所有数据库锁;
close()立即释放此Connection对象的数据库和JDBC资源,而不是等待他们被自动释放。
Statement接口
Statement接口用于创建向数据库中传递SQL语句的对象,该接口提供了一些方法可以实现对数据库的常用操作。
Statement接口的常用方法如下:
execute(String sql) 执行静态的SELECT语句,该语句可能返回多个结果集
learBatch() 清空此Statement对象的当前SQL命令列表
executeBatch() 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。数组元素的排序与SQL语句的添加顺序对应
executeUpdate() 执行给定SQL语句,该语句可以为INSERT、UPDATE或DELETE语句
addBatch(String sql) 将给定的SQL命令添加到此Statement对象的当前命令列表中。如果驱动程序不支持批量处理将抛出异常
close() 释放Statement实例占用的数据库和JDBC资源
PreparedStatement接口
PreparedStatement接口继承Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行的SQL语句,将被预编译并保存到PreparedStatement实例中,从而可以反复地执行该SQL语句。
PreparedStatement接口的常用方法如下:
execute() 在此PreparedStatement对象中执行SQL语句,该语句可以是任何类型的SQL语句 executeQuery() 在此PreparedStatement对象中执行SQL查询语句,返回结果为查询结果集ResultSet对象
executeUpdate() 在此PreparedStatement对象中执行SQL语句,该SQL语句必须是一个INSERT、UPDATE、DELETE语句,或者是没有返回值的DDL语句 setByte(int pIndex, byte bt) 将参数pIndex位置上设置为给定的byte型参数bt setDouble(int pIndex, double dou) 将参数pIndex位置上设置为给定的double型参数dou
setInt(int pIndex, int x) 将参数pIndex位置上设置为给定的int型参数x
setObject(int pIndex, Object o)将参数pIndex位置上设置为给定的Object型参数值
setString(int pIndex, String str) 将参数pIndex位置上设置为给定的String型参数值
ResultSet接口
ResultSet接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。
ResultSet接口的常用方法如下:
getInt()
getFloat()
getDate()
getBoolean()
getString()
getObject() 以指定类型获取ResultSet对象的当前行的指定列值。
next() 将指针向下移一行
updateInt() 用int值更新指定列
updateFloat()
updateLong()
updateString()
updateObject()
updateNull()
updateDouble() 用指定类型值更新指定列
如果需要访问数据库,首先要加载数据库驱动,数据库驱动只需在第一次访问数据库时加载一次。然后在每次访问数据库时创建一个Connection实例,获取数据库连接,这样就可以执行操作数据库的SQL语句。最后在完成数据库操作时,释放与数据库的连接。Java加载数据库驱动的方法是调用Class类的静态方法forName()。
Connection conn=null; PreparedStatement=null; Class.forName("com.mysql.jdbc.Driver");加载完数据库驱动即可建立数据库的连接,要连接数据库可以使用DriverManager类的静态方法getConnection()来实现,并分别将数据库的URL、数据库用户名和密码作为该方法的参数,即可建立到指定数据库的连接。
conn=DriverManager.getConnection()