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

概述

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

两种方式封装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结果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部