1.ResultSet.TYPE_SCROLL_SENSITIVE 据说可以感应到DB变化,感应到什么,如何感应?2.ResultSet只有updateRow()怎么没有多行更新?3.RowSet可以多行更新,怎么不可以对多表查询进行更新,完全可以对不同表指定不同KEY实现跟新啊?4.RowSet一定要断开连接吗?我觉得保持连接有什么关系,又不是在浏览器端保持连接,服务器端不停的创建连接干嘛?
解决方案 »
- java内部类有什么缺点,会导致程序变得低效率么
- JAVA如何把代码封装成像sdk那样的类?或者在哪里有封装好的工具类
- 如何在java图形界面设置中,标签页JLabel上设置触发操作
- 如何让float型保留两位小数?谢谢!(附简码)
- 把以前比试的几个饶口的题拿出来共享
- 高手来帮忙!!! PreparedStatement 实现sql的批处理?
- 求助大侠帮我看看俄罗斯方块的代码,非常感谢
- JFrame调整窗体大小的事件怎么实现windowStateChanged好像无效
- Applet 必须每次都从服务器上下载吗,它能象ActiveX 控件下载到本地吗
- 那地方能够下载到21天学通
- 静态内部类的优点
- 用最有效率的方法算出2乘以8等於几?究竟是2<<3还是8<<1?
如果对敏感无概念,就用SENSITIVE,像我们常说大小写敏感(case sensitive),就是说A和a是不同,要区分的;对于4,查看API发现RowSet有这么些子接口CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, SyncResolver, WebRowSet,且只JdbcRowSet保持着与数据源的连接,其他的都是些 Disconnected RowSet。楼主可以先去了解下一个数据库的连接是怎么创建的,以及一直保持连接会占用什么资源(主要是DB,也许系统的瓶颈受限于DB资源的有限性,像连接数目一定等等),然后为什么需要连接池,缓存等技术,你就不会有上面的疑问了。对于2,不清楚楼主的意图,ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;你要更新多行,JDBC完全可以批量更新;而任何增,删,改操作是事务成功提交后,DB才会真正的处理。对于3,RowSet不行,JoinRowSet是否满足你的需求。只翻了下API,说了下理解,没有测试。
1.这个SENSITIVE有点恐怖,竟然自动把前面提取的数据给修改,如果我也更改了数据但没有更新,或者我认为我已经了解这个数据,但它却更改我已阅读的数据却不给提示,有点恐怖,这东西有什么用?
2.JoinRowSet 感觉挺麻烦的,居然要一个一个的add进来,我需要的是一个复杂的sql结果直接拿过来,然后我可以告诉它如何update,而不是它那样,一个一个select出来,然后组装起来,纯粹多余且不方便。
2. JDBC是个API,也就是Java访问数据库的技术规范(具体实现一般由各数据库供应商提供),它可以把你的SQL发送给DB,由DB解析执行并返回结果,JDBC把返回的结果以Java对象的形式给你,如果你要它能自己生成SQL,你可以象一些ORM(常说的Hibernate)工具把JDBC封装下,如你说的update,只要提供个ID,表名,更新哪些字段,不就可以了。