-
如果要对数据库进行更新操作就必须用到statement接口,此借口可以使用conn.createStatement(resultSetType, resultSetConcurrency)来进行实例化
下面定义一些statement接口中常用的方法:
int executeUpdate(String sql) throws SQLException 执行数据库的更新语句,如INSERT,UPDATE,DELETE等,返回记录数
ResultSet executeQuery(String sql) ....... 执行数据库查询操作,返回一个结果集对象
void addBatch() ...... 增加一个待执行的SQL语句
int[] executeBatch() ...... 批量执行SQL语句
void close() ...... 关闭statement操作
boolean execute (String sql) ...... 执行SQL语句
-
代码中要关闭statement 和 connection
-
在SQL语句中查询的结果都会填充到ResultSet中,并使用ResulSet进行显示。在数据库中查询的数据填充到ResultSet中其实也是放到内存中,如果查询出来的数据量过大则系统会出现问题
- 开发中SQL语句一般不直接用 * ,用* 的话,查询语句就很难知道所要的具体的列是什么,在使用ResultSet取出内容的时候也比较麻烦。
-
PreparedStatement简介
- PreparedStatement是Statement的子接口,属于预处理操作,与直接只用statement不同的是,Preparedstatement在操作时,是在数据表中准备好了一条SQL语句,但是此SQL语句的内容暂时不设置,而是在之后进行设置。以插入数据为例,使用Preparedstatement进行插入数据时,数据表中的指针指向最后一条数据后,里面的内容是不知道的,等待用户分别进行设置。
- 由于PreparedStatement对象已经预编译过了,所以其执行速度要高于Statement对象。
- PreparedStatement除了继承statement的所有操作以外,自己还增加了许多新的操作。