关于jfinal的Record字段顺序

kenny0x00 发布于 2013/04/15 01:47
阅读 966
收藏 1

@JFinal 你好,想跟你请教个问题:现在想要根据SQL直接查询出Record给前端页面使用,想字段能够具有顺序,比如:

SELECT id,username,password from users;

希望record.getcolumNames()得到的列顺序也是按照id,username,password来的。

简单看了一下源码,在Record.columns中使用了HashMap的子类,而不是LinkedHashMap子类,所以我想现在是做不到的,请问一下是否有解决办法?

加载中
1
azura111
azura111

arp = new ActiveRecordPlugin(...); 

arp.setContainerFactory(new OrderedFieldContainerFactory())

新版本的jfinal已经实现了这个功能了。

Spacey
Spacey
是的!
0
JFinal
JFinal

1:仿照 com.jfinal.plugin.activerecord.CaseInsensitiveContainerFactory做个IContainerFactory实现类,例如叫:MyContainerFactory,注意将getColumnsMap()实现为返回LinkedHashMap。

2:将这个MyContainerFactory对象在创建ActiveRecordPlugin时传入,如 arp.setContainerFactoryu(new MyContainerFactory())

0
C
Cndavy
折中先extend new class
/**  * Created by han on 2015/9/6.  */ public class SerialRecord extends Record { private Map<String, Object> columns; @Override  public Map<String, Object> getColumns() { if (this.columns == null) { columns=new LinkedHashMap<>();
        } return columns;
    }
}


record=new SerialRecord();
record.set("_name",a.get("des"));

返回顶部
顶部