首页 > 学院 > 开发设计 > 正文

jdbc基本查询方法

2019-11-14 21:53:18
字体:
来源:转载
供稿:网友
jdbc基本查询方法

jdbc操作数据库时,最基本的三种接口是Statement PReparedStatment CallableStatement

(1)Statement

createStatement()

createStatement(intresultSetType, intresultSetConcurrency)

createStatement(intresultSetType, intresultSetConcurrency, intresultSetHoldability)(JDBC 3.0)

resultSetType- 结果集类型,它是ResultSet.TYPE_FORWARD_ONLY(不可滚动结果集)ResultSet.TYPE_SCROLL_INSENSITIVE(可滚动结果集,受数据库更新影响的)ResultSet.TYPE_SCROLL_SENSITIVE(可滚动结果集,不受数据库更新影响的)之一

resultSetConcurrency- 并发类型;它是ResultSet.CONCUR_READ_ONLY(只读结果集)或ResultSet.CONCUR_UPDATABLE(可更新结果集)之一。

resultSetHoldability- 以下ResultSet常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT(提交修改后,不关闭结果集)或ResultSet.CLOSE_CURSORS_AT_COMMIT(提交修改后,关闭结果集)

说明:resultSetType,resultSetConcurrency,resultSetHoldability的使用是有限制的。

有的数据库并不支持可滚动结果集,可更新结果集,提交修改后不关闭结果集。可以通过conn.getMetaData()来获取DataBaseMetaData对象判断是否支持上述功能。

(2)PreparedStatement

prepareStatement(Stringsql)

prepareStatement(Stringsql, intresultSetType, intresultSetConcurrency)

prepareStatement(Stringsql, intresultSetType, intresultSetConcurrency, intresultSetHoldability)

prepareStatement(Stringsql, intautoGeneratedKeys)

prepareStatement(Stringsql, int[]columnIndexes)

prepareStatement(Stringsql,String[]columnNames)

autoGeneratedKeys可以为Statement.RETURN_GENERATED_KEYS/NO_GENERATED_KEYS

eg:PrepareStatement st=conn.prepareStatemnt(sql,Statement.RETURN_GENERATED_KEYS);

st.executeQuery();

ResultSet rs=st.getGeneratedKeys();

if (rs.next()){

int key=ts.getInt(1);

}

(3)CallableStatement

prepareCall(Stringsql)

prepareCall(Stringsql, intresultSetType, intresultSetConcurrency)

prepareCall(Stringsql, intresultSetType, intresultSetConcurrency, intresultSetHoldability)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表