JFinal源码疑问

囧Code 发布于 2015/02/09 11:11
阅读 283
收藏 3

@JFinal 你好,想跟你请教个问题:

业务场景:执行存储过程,使用Db.execute()将查询结果的ResultSet转成List<Record>返回,查看了源码的RecordBuilder类,发现里面有个方法build能满足需求。但是不清楚该方法传递Config参数的作用。我将该方法调用Config的代码去掉,结果符合我的期望。那么,请问,这句调用方法record.setColumnsMap(config.containerFactory.getColumnsMap());是什么作用呢?另外,能否添加一个不需要Config参数的方法,用于将ResultSet转成List<Record>?

加载中
0
JFinal
JFinal

     RecordBuilder 需要 Config 对象中的 containerFactory 来获取存放数据的 Map 对象,这个 Map 对象可以有多种特点,例如  CaseInsensitiveContainerFactory 可以提供忽略大小写的 Map。所以这个 Config 不能省去,这里是一个工厂,在 for 循环里面每个循环都会创建出新的 Map 对象来。

    建议使用 DbKit.getConfig() 给 RecordBuilder  提供一个 Config 对象即可:

RecordBuilder.build(DbKit.getConfig(), resultSet);

返回顶部
顶部