首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
JFinal如何获取到查询出来的结果的字段名?
苏坡Man
2019-03-05 10:41
JFinal如何获取到查询出来的结果的字段名?
我是用这种查询的,如何获取到字段名?
项目:
JFinal
评论区
苏坡Man
2019-03-05 10:46
这个sql查询的可能是表中的所有字段,也有可能是表中的一个字段。
回复
JFinal
2019-03-05 14:39
Record.getColumns() 可以获取到一个 Map,对这个 Map 的 key 进行迭代即可:
for ( String field : Record.getColumns().keySet()) {
...
}
回复
苏坡Man
2019-03-05 17:09
@JFinal
这个获取的是一个无续的Map,因为我需要做动态表格,想用字段名做表头,这个方法是不是不太实用,要求顺序和数据库一样,比如 id,name,age,sex,这个获取的可能是age,id,sex,name
回复
JFinal
2019-03-05 17:11
@苏坡Man
想获取有序的配置一下:
activeRecordPlugin.setContainerFactory(new OrderedFieldContainerFactory());
回复
jiangkeju
2019-06-11 10:14
@JFinal
查询出来如果没有数据 Record.getColumns() 这个就没法取值了
回复
JFinal
2019-06-11 11:40
@jiangkeju
这个确实是,这种情况可以通过使用 Model 来获取所有字段名,例如:
Table table = TableMapping.getTable(modelClass)
Set《name》names = table.getColumnNameSet();
回复
jiangkeju
2019-06-11 13:42
@JFinal
我只用了activerecord 这一块。同时我这边写的sql 是动态sql 没有具体的实体类
回复
JFinal
2019-06-11 15:43
@jiangkeju
这种情况参考一下 TableBuilder 中获取 table 信息的代码
回复
jiangkeju
2019-06-11 16:41
@JFinal
Connection conn = DbKit.getConfig("sqlserver").getConnection(); 次数多了程序会卡死在这。我执行的都是查询操作
回复
JFinal
2019-06-11 16:58
@jiangkeju
必须要卡在这里,自行获取的 Connection 对象,需要在 finally 块中关闭,否则资源泄露
Connection conn = null;
try {
conn = xxx.getConnection();
....
} finally {
if (conn != null) {conn.close();}
}
回复
JFinal
2019-06-11 16:59
@jiangkeju
如果是 JDK 1.7 或以上版本,可以采用 try with resources 语法,更省代码:
try (Connection conn = xxx.getConnection()) {
....
}
回复
habaside
2019-08-16 17:04
@JFinal
通过什么方法可以获取 数据库中某个视图的 字段名集合
回复
JFinal
2019-08-16 17:34
@habaside
如果视图也做了映射,获取方式与前面介绍的方式一样
回复
发送
我要反馈
热门反馈
扫码入社