它表示预编译的SQL语句的对象,其中SQL语句被预编译并且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。
例子:
(1)PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
(2)pstmt.setBigDecimal(1, 153833.00); //将153833.00赋给第一个参数
(3)pstmt.setInt(2, 110592); //将110592赋给第二个参数
注释:
(1)setBigDecimal(int parameterIndex, BigDecimal x)将指定参数设置为给定BigDecimal类型的值。
(2)setInt(int parameterIndex, int x)将指定参数设置为给定int值。
(3)sql中的'?'为参数占位符,可以有多个。
(高级用法)
PreparedStatement prepareStatement(String sql,int resultSetType,int resultSetConcurrency) throws SQLException
此方法与上述prepareStatement方法相同,但它允许重写默认结果集类型和并发性。
参数:
(1)String对象,它是将被发送到数据库的SQL语句可以包含一个或多个?IN参数
(2)resultSetType - 结果集类型,它是 ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE 之一
(3)resultSetConcurrency - 并发类型,它是 ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 之一
返回:包含预编译的SQL语句的新PreparedStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象
例子:
(1)PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
(2)pstmt.setBigDecimal(1, 153833.00); //将153833.00赋给第一个参数
(3)pstmt.setInt(2, 110592); //将110592赋给第二个参数
注释:
(1)setBigDecimal(int parameterIndex, BigDecimal x)将指定参数设置为给定BigDecimal类型的值。
(2)setInt(int parameterIndex, int x)将指定参数设置为给定int值。
(3)sql中的'?'为参数占位符,可以有多个。
(高级用法)
PreparedStatement prepareStatement(String sql,int resultSetType,int resultSetConcurrency) throws SQLException
此方法与上述prepareStatement方法相同,但它允许重写默认结果集类型和并发性。
参数:
(1)String对象,它是将被发送到数据库的SQL语句可以包含一个或多个?IN参数
(2)resultSetType - 结果集类型,它是 ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE 之一
(3)resultSetConcurrency - 并发类型,它是 ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 之一
返回:包含预编译的SQL语句的新PreparedStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象
本文介绍了PreparedStatement对象的概念及其在数据库操作中的应用。通过预编译SQL语句提高执行效率,并详细展示了如何设置参数及使用高级特性来定制结果集。
376

被折叠的 条评论
为什么被折叠?



