JDBC的常用类和接口
一 、DriverManager类
DriverManage类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动之间建立连接,DriverManager类中的方法都是静态方法,下列是DriverManager的常用方法:
getConnection(String URL,String user,String PassWord) 指定3个参数,分别是连接地址,用户名 和密码
二 、Connection 接口
Connection 接口代表与特定的数据库的连接,要对数据库中的数据进行操作,首先要获取数据库连接,Connection就像在应用程序与数据库之间开通了一条通道.可以通过DriverManager类的getConnection()方法获取Connection的实例。
- Connection接口的常用方法如下:
1、createStatement() 创建Statement对象
2、PrepareStatement() 创建预处理对象PrepareStatement
3、isReadOnly() 查看当前Connection对象的读取模式是否是只读形式
4、SetReadOnly() 设置当前Connection对象的读写模式,默认是非只读模式
5、close() 立即释放此Connection对象的数据库和JDBC资源,而不是自动释放
三 、Statement 接口
Statement接口用于创建向数据库中传递SQL语句的对象。
- 常用方法如下:
1、boolean execute(String sql) 执行给定的 SQL 语句,该语句可能返回多个结果。
2、executeQuery(String sql) 执行查询的Sql语句 返回单个ResultSet对象
3、clearBatch() 清空此Statement对象的当前SQL命令列表
4、executeUpdate() 执行指定的SQL语句 该语句可以为INSERT UPDATE DELETE语句
5、close() 释放Statement实例占用的数据库和JDBC资源
四 、PreparedStatement 接口
PreparedStatement接口继承Statement,用于执行动态的SQL语句 ,通过PreparedStatement实例执行的SQL语句,将被编译并保存到PreparedStatement实例中,从而可以重复的执行该SQL语句。与创建Statement不同的是,需要根据sql语句创建PreparedStatement,数据库对带 ? 占位符的SQL进行预编译。
- preparedStatement接口的常用方法:
1、execute( ) 执行给定的 SQL 语句,该语句可能返回多个结果。
2、executeQuery( ) 在此preparedStatement对象中执行Sql查询语句,返回为查询数据集的对象
3、executeUpdate() 在此preparedStatement对象执行Sql语句,该SQL语句必须是一个INSERT UPDATE DELETE语句。
五、Statement和prepareStatement的区别
1、PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程。
2、使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。当你需要执行Statement对象多次的时候,PreparedStatement对象将会大大降低运行时间,当然也加快了访问数据库的速度。
3、statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理。
六 、ResultSet 接口
ResultSet接口类似于一个临时的数据表,用来暂时存放数据库查询操作获取到的数据集,数据库查询结果的返回值便为ResultSet类型。
- 常用方法如下:
1、getInt() 以int形式获取当前行指定的列
2、getFloat() 以Float形式获取当前行指定的列
3、getDate() 以Date形式获取当前行指定的列
4、getBoolean() 以Boolean形式获取当前行指定的列
5、getString() 以String形式获取当前行指定的列
6、getObject() 以Object形式获取当前行指定的列
7、next( ) 将指针向下移一行
8、updateInt() 用int值更新查找结果的指定列
9、updateFloat()用float值更新指定列
10、updateLong() 用指定的long值更新指定的列
11、updateString()用指定的"String"值更新指定列
12、updateObejct() 用object值更新指定的列
13、updatenull() 将指定的列值修改为null
14、updateDate() 用指定的Date值更新指定的列
15、updateDouble() 用指定的Double值更新指定的列
七、操作演示
import java.sql.Connection;
import