import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Repository;

public List<Map<String, Object>> queryMatInfo(Long customer_id, List<String> matCodes) {
try {
Map<String, Object> params = new HashMap<String, Object>();
String sql = "select mat_id, mat_code from wms_base_material where customer_id = :customer_id and mat_code in (:matCodes)";
params.put("customer_id", customer_id);
params.put("matCodes", matCodes);
List<Map<String, Object>> list = jdbcTemplate.queryForList(sql, params);
return list;
} catch (Exception e) {
log.error(e);
return new ArrayList<Map<String, Object>>();
}
} List<Map<String, Object>> whList = warehouseDao.queryWhList(header.getEx_wh_code()); Map<String, Object> map = whList.get(0); wh_id = (Long)map.get("wh_id"); public List<RivCheckL> queryByExpressOrderNo(String expressOrderNo) {
String sql = " select * from riv_check_l chl right join riv_pack_case_l pcl on chl.CHL_PCL_ID = pcl.PCL_ID"
+ " where pcl.PCL_EXPRESS_ORDER_NO = :expressOrderNo";
MapSqlParameterSource map = new MapSqlParameterSource();
map.addValue("expressOrderNo", expressOrderNo);
List<RivCheckL> result = jdbcTemplate.query(sql, map, new BeanPropertyRowMapper<RivCheckL>(RivCheckL.class));
return result;
}

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;

@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;

List<QuantQueryForQMDTO> ls = jdbcTemplate.query(sql, params,
new RowMapper<QuantQueryForQMDTO>() {
@Override
public QuantQueryForQMDTO mapRow(ResultSet rs, int rowNum) throws SQLException {
QuantQueryForQMDTO dto = new QuantQueryForQMDTO();
dto.setOrgCode(rs.getString("org_code"));
dto.setOwnCode(rs.getString("own_code"));
dto.setMatCode(rs.getString("mat_code"));
return dto;
}
});

@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;

public List<PcmlRecord> queryPcmlRecordLs(Integer onhId, Integer pclId, final PcmlInputUIInfoVO infoVO) {
final List<PcmlRecord> pcmlRecords = new ArrayList<PcmlRecord>();
List<Object> params = new ArrayList<Object>();
StringBuilder sb = new StringBuilder(" select pcml.pcml_id, pcml.pcml_row_no, pcml.pcml_pct_id, pcml.pcml_qty, pct.pct_code, pct.pct_name ");
sb.append(" from ");
sb.append(" riv_pack_case_material_l pcml left join riv_pack_case_type pct on pct.pct_id = pcml.pcml_pct_id ");
sb.append(" where ");
sb.append(" pcml.pcml_onh_id = ? ");
params.add(onhId);
sb.append(" and pcml.pcml_pcl_id = ? ");
params.add(pclId);
this.jdbcTemplate.getJdbcOperations().query(sb.toString(), params.toArray(), new RowCallbackHandler() { @Override
public void processRow(ResultSet rs) throws SQLException {
PcmlRecord record = infoVO.new PcmlRecord();
record.setPcmlId(SqlUtils.getIntValue(rs, "pcml_id"));
record.setPcmlPctId(SqlUtils.getIntValue(rs, "pcml_pct_id"));
record.setPcmlQty(SqlUtils.getIntValue(rs, "pcml_qty"));
record.setPcmlRowNo(SqlUtils.getIntValue(rs, "pcml_row_no"));
record.setPctCode(rs.getString("pct_code"));
record.setPctName(rs.getString("pct_name"));
pcmlRecords.add(record);
}
});
return pcmlRecords;
}

查询多列得到map与查询得到po对象的更多相关文章

  1. oracle 连接数据库并查询,返回List<Map<String, Object>> 数据

    package JDBC; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; impor ...

  2. SQL Server 一列或多列重复数据的查询,删除

    业务需求 最近给公司做一个小工具,把某个数据库(数据源)的数据导进另一个数据(目标数据库).要求导入目标数据库的数据不能出现重复.但情况是数据源本身就有重复的数据.所以要先清除数据源数据. 于是就把关 ...

  3. Dos.ORM Select查询 自定义列

    自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...

  4. SQL Server 一列或多列重复数据的查询,删除(转载)

    转载来源:https://www.cnblogs.com/sunxi/p/4572332.html 业务需求 最近给公司做一个小工具,把某个数据库(数据源)的数据导进另一个数据(目标数据库).要求导入 ...

  5. 智能提示含查询多列(html+JS+handler+ HttpRemoting)二、Remoting代码

    /// <summary> /// 智能查询类型 /// </summary> public enum QueryType : byte { /// <summary&g ...

  6. Sql查询一个列对应多个列

    Sql查询一个列对应多个列 今天遇到一个问题,表table1有两个字段col1.col2两个字段.先记录下来,以后有个参考. 现在需要查询出的数据满足如下要求: 1.col1重复.col2重复的数据只 ...

  7. ibatis 取消查询动态列的缓存

    ibatis在查询结果列不确定(或是动态变化)的情况下,会因为列缓存的原因导致变化后的列数据查不出来 解决方法是: select标签有个属性remapResults,该属性默认值为false,设置成r ...

  8. 【java】itoo项目实战之大数据查询之使用 new map 优化hibernate之级联查询

    在我的上一篇博客<[java]itoo项目实战之hibernate 懒载入优化性能>中,我曾提到过学生数据有2万条,查询数据十分的慢,这是让人非常受不了的事情.看着页面进度条一直转着圈圈, ...

  9. SQL查询结果列拼接成逗号分隔的字符串:group_concat

    转自:SQL查询结果列拼接成逗号分隔的字符串 背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 拼接的结果很长,导致拼接结果显示不全,可 ...

随机推荐

  1. 修改Win10默认窗口背景色为护眼色的方法

    按Windows键+R,打开“运行”对话框,输入regedit: 修改[HKEY_CURRENT_USER\Control Panel\Colors]下Windows键值为 199 237 204, ...

  2. p4301 [CQOI2013]新Nim游戏

    传送门 分析 通过nim游戏我们可以知道我们现在的任务就是通过两轮之后使得剩余的几堆异或和为非0数 所以我们只需要在第一步使得剩余集合的任意非空子集的异或和非0即可 于是我们考虑线性基 我们知道线性基 ...

  3. 每日一Git计划启动

    效仿某大神,每日一Git,初次启动,维时30天 规范: 1. 不能提交纯属搞笑灌水的 2. 可以提交ACM题目代码 3. 想不到了..靠自觉的东西,对自己有提升的就做,没提升纯属刷数据的就不算吧.. ...

  4. Integer类的parseInt和valueOf的区别

    我们平时应该都用过或者见过parseInt和valueOf这两个方法.一般我们是想把String类型的字符数字转成int类型.从这个功能层面来说,这两个方法都一样,都可以胜任这个功能. 但是,我们进入 ...

  5. 读paper笔记[Learning to rank]

    读paper笔记[Learning to rank] by Jiawang 选读paper: [1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B ...

  6. LINQ to SQL连接数据库及语句

    http://www.cnblogs.com/fengzheng126/archive/2012/04/20/2460620.html

  7. .NET 图片上传接收类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. P与NP问题详解

    P,NP,NPC问题,这或许是众多OIer最大的误区之一. 本文就为大家详细讲解如上三个问题. 前序: 你会经常看到网上出现“这怎么做,这不是NP问题吗”.“这个只有搜了,这已经被证明是NP问题了”之 ...

  9. Python3 中socket使用

    1.动态导入模块 在当前目录下有lib和test目录,在test中要想使用lib中的aa的C类: test中: 第一种方法:推荐 importlib.import_module('lib.aa') o ...

  10. 167. Two Sum II - Input array is sorted两数之和

    1. 原始题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明 ...