我是靠谱客的博主 聪明钢铁侠,这篇文章主要介绍Groovy动态Object与HashMap两种方式封装GroovyResultSet结果,现在分享给大家,希望可以做个参考。

为什么80%的码农都做不了架构师?>>>   hot3.png

两种方式封装GroovyResultSet结果:

1.动态Object(即LinkedHashMap)

复制代码
1
2
3
4
5
6
7
8
9
10
11
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> 封装

复制代码
1
2
3
4
5
6
7
8
9
10
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结果内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(103)

评论列表共有 0 条评论

立即
投稿
返回
顶部