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. 线段树教做人系列(3) HDU 4913

    题意及思路看这篇博客就行了,讲得很详细. 下面是我自己的理解: 如果只有2,没有3的话,做法就很简单了,只需要对数组排个序,然后从小到大枚举最大的那个数.那么它对答案的贡献为(假设这个数排序后的位置是 ...

  2. 百度Apollo解析——3.common

    1.略读 该目录下主要提供了各个模块公用的函数和class以及一些数学API还有公共的宏定义. 在Apollo 1.0中,common是整个框架的基础.configs是配置文件加载.adapters是 ...

  3. JS jquery ajax 已看1 有用

    4.form中的input可以设置为readonly和disable,请问2者有什么区别? readonly不可编辑,但可以选择和复制:值可以传递到后台 disabled不能编辑,不能复制,不能选择: ...

  4. Linux-shell实现阳历转农历(序)

    好些天没有登陆邮箱,前几天上班打开一看垃圾箱中有一封邮件让我好激动,还是国外友人的英文邮件.^_^大概内容是我早些时候写的一个阳历转农历的shell小程序,他在用的时候发现了bug,但是这个bug我在 ...

  5. Thread.currentThread().getContextClassLoader() 和 Class.getClassLoader()区别

    查了一些资料也不是太明白两个的区别,但是前者是最安全的用法 打个简单的比方,你一个WEB程序,发布到Tomcat里面运行.首先是执行Tomcat org.apache.catalina.startup ...

  6. 《Spring实战》-2

    装配Bean 1.装配wiring,即创建应用对象之间的协作关系的行为,者也是依赖注入的本质. 2.创建Spring配置 从Sring3.0开始,Spring容器提供了两种配置Bean的方式: XML ...

  7. Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

    Understanding the Effective Receptive Field in Deep Convolutional Neural Networks 理解深度卷积神经网络中的有效感受野 ...

  8. Linux常用命令分类总结

    文件及文件夹操作 新建文件 vi file 新建文件夹 mkdir dirName 复制文件 cp sourceFile targetFile 移动文件 mv file targetDir 文件或文件 ...

  9. c#转 java学习笔记(原创)

    JDK开发人员用,JRE运行时环境(比如给客户安装,客户电脑需要装JRE) 当我们调用构造方法的时候系统会执行如下操作:1.给对象的属性分配空间,并且初始值 0 or null 2.给属性赋缺省值  ...

  10. C# WinForm:无法访问已释放的对象

    C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象   笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中 ...