jdbc基本查询方法

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

(1)Statement 

createStatement() 

createStatement(int resultSetType, int resultSetConcurrency) 

createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)(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(String sql) 

prepareStatement(String sql, int resultSetType, int resultSetConcurrency) 

prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) 

 

prepareStatement(String sql, int autoGeneratedKeys) 

prepareStatement(String sql, int[] columnIndexes) 

prepareStatement(String sql, 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(String sql)

prepareCall(String sql, int resultSetType, int resultSetConcurrency) 

prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) 

 

你可能感兴趣的:(jdbc)