我是靠谱客的博主 聪明钢铁侠,最近开发中收集的这篇文章主要介绍Groovy动态Object与HashMap两种方式封装GroovyResultSet结果,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
为什么80%的码农都做不了架构师?>>>
两种方式封装GroovyResultSet结果:
1.动态Object(即LinkedHashMap)
sql.eachRow("select * from tbl_sys_user t",{ GroovyResultSet resultSet->
ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount();
def obj = [ type:"entity" ]
for (int i = 1; i <= count; i++) {
String key = metaData.getColumnName(i)
Object value = resultSet.getObject(i);
obj[key] = value;
}
})
2.Map<String,Object> 封装
sql.eachRow("select * from tbl_sys_user t",{ GroovyResultSet resultSet->
ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount();
Map<String,Object> obj = new HashMap<String,Object>();
for (int i = 1; i <= count; i++) {
String key = metaData.getColumnName(i)
Object value = resultSet.getObject(i);
obj.put(key, value);
}
})
两种形式各测试5次 , 平均执行时间上看,第一种平均用时766ms , 第二种平均耗时639ms , 和预想的结果一致 , 用HashMap来封装应该是效率更高些,二者都可以很容易转换成json , 故推荐第二种实现。
转载于:https://my.oschina.net/jaakan/blog/1611731
最后
以上就是聪明钢铁侠为你收集整理的Groovy动态Object与HashMap两种方式封装GroovyResultSet结果的全部内容,希望文章能够帮你解决Groovy动态Object与HashMap两种方式封装GroovyResultSet结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复