将所获取的行集合 转换为Map封装为类 供调用

7 篇文章 0 订阅
7 篇文章 0 订阅
package com.connection.ConnCommit;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.util.HashMap;

/**
 * 
 * @Detail : 将所获取的行集合 转换为Map
 * @Author: 韩庆
 * @E-mail: IsaidIwillgoon@gmail.com
 * @Date: 2012-11-13
 * @Time: 下午8:44:33
 * 
 */
public class RawMapper {

	public ResultSetMetaData rsmd = null;
	public int rawCount = 0;

	public Object mapRow(ResultSet rs, int rowNum) {
		HashMap map = new HashMap();
		try {
			// 如果rsmd为空
			if (null == rsmd) {
				rsmd = rs.getMetaData();
				rawCount = rsmd.getColumnCount();
			}
			for (int i = 0; i < rawCount; i++) {
				String columnName = rsmd.getCatalogName((i + 1)).toLowerCase();// 得到列名称
																				// 并转换小写
				int sqlType = rsmd.getColumnType(i + 1);
				Object sqlView = rs.getObject(columnName);
				
				switch (sqlType) {
				case Types.CHAR:
					map.put(columnName, sqlView.toString().trim());
					break;
				case Types.NUMERIC:
					if (null == sqlView) {
						sqlView = "";
					}
					map.put(columnName, sqlView.toString());
					break;
				default:
					map.put(columnName, sqlView != null ? sqlView.toString()
							: "");
					break;
				}
			}
		} catch (SQLException sqlE) {
			// ...
		} catch (Exception e) {
			// ...
		}
		return map;
	}
}

将其封装起来  以便之后调用。//此形式可以用于  this. getJdbcTemplate.query(sql,new  mapper(){

          //内部实现

} );

是SSH里提供的另一种查询方式。//3Q 永泰~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SolrTemplate中的query方法返回的结果是List<T>类型,可以通过遍历List来获取每个Document对象,然后再把每个Document对象的字段封装Map集合中。 以下是一个示例代码: ```java List<Map<String, Object>> resultList = new ArrayList<>(); String keyword = "apple"; Query query = new SimpleQuery(new Criteria("title").contains(keyword)); query.setRows(10); // 设置返回结果的最大数量为10 query.setSort(Sort.by("price").ascending()); // 设置按照价格升序排序 query.setFields("id", "title", "price"); // 设置要返回的字段 QueryResponse response = solrTemplate.query(query); for (SolrDocument document : response.getResults()) { Map<String, Object> resultMap = new HashMap<>(); resultMap.put("id", document.get("id")); resultMap.put("title", document.get("title")); resultMap.put("price", document.get("price")); resultList.add(resultMap); } ``` 在上面的代码中,我们先定义了一个List<Map<String, Object>>类型的结果集,然后创建了一个Query对象,设置了查询条件、返回结果数量、排序方式和返回字段等参数。通过调用solrTemplate.query方法执查询操作,得到QueryResponse对象。然后遍历QueryResponse中的SolrDocument对象,将每个Document对象的id、title、price字段封装Map集合中,最终将Map集合添加到结果集中。 需要注意的是,SolrDocument中的字段值类型可能是Object类型,需要根据实际情况进类型转换。如果有多个Document对象需要封装,建议使用Java8的Stream API来简化代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值