gpt4 book ai didi

java - 如何使 CachedRowSetImpl 只读

转载 作者:行者123 更新时间:2023-11-30 04:07:12 24 4
gpt4 key购买 nike

我将使用com.sun.rowset.CachedRowSetImpl执行查询并将结果返回给用户(这不在我的控制范围内)。我想确保他们不会对此对象执行任何可能对数据库进行更改的更新操作。一种方法可能是:

  1. 扩展 CachedRowSetImpl 并重写 setReadOnly() 方法,以便任何用户都无法将其设置为 false。

这足够了吗?或者还有其他方法让用户仍然可以更新数据库?我还应该重写clone()方法吗?

谢谢

最佳答案

我不认为有理由重写clone(),但确保不会发生更新的最简单方法似乎是使用ResultSet.CONCUR_READ_ONLY

正如您从 Javadoc 看到的那样,在这种情况下所有修改器都会抛出 SQLException。

因此,要创建只读缓存行集,以下内容就足够了:

CachedRowSet rowSetImpl = new CachedRowSetImpl();
rowSetImpl.setConcurrency(ResultSet.CONCUR_READ_ONLY);
rowSetImpl.setCommand("Select * from foo");
rowSetImpl.execute();

关于java - 如何使 CachedRowSetImpl 只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20466768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com