美文网首页
4. PreparedStatement

4. PreparedStatement

作者: 元隐 | 来源:发表于2020-01-15 18:30 被阅读0次

一个典型的PreparedStatement

//获取数据库连接
            connection = this.getConnection();
            //创建PreparedStatement 
            ps = connection.prepareStatement(sql)

实际上PreparedStatement还有两个重要参数

ps = connection.prepareStatement(sql,
                    resultSetType,
                    ResultSet.CONCUR_READ_ONLY);

resultSetType参数设置的是TYPE_SCROLL_INSENSITIVE或TYPE_SCROLL_SENSITIVE,
这两个参数的共同特点是允许结果集(ResultSet)的游标可以上下移动。而默认的TYPE_FORWARD_ONLY参数只允许结果集的游标向下移动。

由因ResultSet.TYPE_FORWARD_ONLY 做为resultSetType默认值是安全的. 而其他两个值有内存溢出风险. 因是TYPE_FORWARD_ONLY单一向前滚动, 用过的数据可以直接从内存回收.

CONCUR_READ_ONLY意味着数据是只读的, 与就是说resultSetType数据不可更新.
实际上现在框架不怎么见到在rs 中直接更新的操作. 其设置type为:CONCUR_UPDATABLE

实际上早期常见的一种写法:
rs.next()
rs.updateString("NAME", "songjiang"); // updates the NAME to songjiang          
rs.updateRow(); // updates the row in the data source

相关文章

网友评论

      本文标题:4. PreparedStatement

      本文链接:https://www.haomeiwen.com/subject/hdxtzctx.html