2
回答
请问jFinal的Db+Record模式中的Record是否可以理解为一个ResultSet?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
请问jFinal的Db+Record模式中的Record是否可以理解为一个ResultSet? 看了jFinal的部分源码,发现Record是根据Resultset来的,而且ResultSet貌似完全能代替Record,这样子,为何还要封装一下呢?@JFinal
举报
共有2个答案 最后回答: 2年前

首先,ResultSet的生命周期是与JDBC操作相关的,如果Statement和Connection要得到释放,ResultSet首先得释放。就凭这一点,Model或Record就不能由它封装而来。

其次,由ResultSet封装而来,不需要的接口就暴露给了开发者,让开发者疑惑。

再次,由设计原则来说,ResultSet这种只是JDBC环节中的一个类,引入到JFinal中并不合适。

--- 共有 1 条评论 ---
无敌小辣椒谢谢,解答得很详细^_^ 2年前 回复

      每个 Record 对象唯一对应数据库表中的一条记录,并且 Record 提供了一些常用的方法便于读取字段数据。

     Record 类相当于一个通用的数据库查询结果容器。虽然 ResultSet 在某种程度上也可以读取出数据表中的数据,但它需要 Connection在开启时才可以读取,在读取出数据之前需要一直占用连接,在代码层面来说它会抛出异常,需要对它try catch,并且读完数据以后还要resultSet.clse()以前connection.close(),在具体使用时候的代码是让人无法接受的。

--- 共有 4 条评论 ---
李文文 回复 @Enzoooooo : 最近也有这个疑问,用的1.9。相同的功能record里面叫getColumnValues()。model里面叫getAttrValues()。而且model里面自带了paginate。基本我较多用的model。 9个月前 回复
Enzoooooorecord对象和泛型有什么区别于联系吗?比如list<model>与list<record> 1年前 回复
糊搞@JFinal 2年前 回复
无敌小辣椒理解了,我想得过于片面了,从JFinal中学到很多,谢谢 2年前 回复
顶部