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. webview加载url出现空白页面,有些页面没问题

    用webview加载url出现空白页,测试后把百度,Github之类的url传进去都没问题,后来发现是因为布局的原因,因为webview对不同的网站兼容性没有那么强,特别是现在出现的各种前端布局,没法 ...

  2. powerdesigner自动将name填充到注释的脚本

    我在建模的时候,希望在生成脚本的时候有注释,所以才会看到Comment列,实际上,只要你的表中的Name列不为空,运行下面的VBScript,PD会帮你自动填充注释的Comment列值. '把pd中那 ...

  3. C++的引用的使用

    1引用的定义 引用时C++对C的一个重要的扩充,引用的作用是给变量起一个别名. 例如: int a; int &b=a;//声明b是a的引用 经过以上的声明,b就成为了a的别名,a和b的地位以 ...

  4. 624. Maximum Distance in Arrays二重数组中的最大差值距离

    [抄题]: Given m arrays, and each array is sorted in ascending order. Now you can pick up two integers ...

  5. clone方法详解

    http://blog.csdn.net/zhangjg_blog/article/details/18369201/

  6. python---pyspider,报错?

    conf.json文件内容如下: { "message_queue": "redis://127.0.0.1:6379/15", "webui&quo ...

  7. 有趣的setTimeout

    今天在回顾JavaScript进阶用法的时候,发现一个有趣的问题,话不多说,先上代码: for(var j=0;j<10;j++){ setTimeout(function(){console. ...

  8. Linux下遇到的操作 (持续更新……)

    1.作业让写一个输入输出重定向,管道联接.这里要讲的不是这个而是 我当时想写个程序来演示这些功能:但我发现我的虚拟机中没有装GNU不能用g++命令,然后就惊奇的发现Linux命令行可以直接联网下载安装 ...

  9. 【Arcgis for android】Error inflating class com.esri.android.map.MapView【已解决】

    解决方案:如果你是一个项目之前调试是好的,突然调试报这个错,听我的,直接卸载手机上调试的这个程序,重新调试,你会发现ok了 环境:arcgis android 10.2 错误:E/AndroidRun ...

  10. 抽象类(abstract)【转】

    抽象类(abstract) abstract修饰符可以和类.方法.属性.索引器及事件一起使用.在类声明中使用abstract修饰符以指示某个类只能是其它类的基类.标记为抽象或包含在抽象类中的成员必须通 ...