Java实现 调用JdbcTemplate.batchUpdate方法批量更新
来源:互联网 发布:java整型转换成字符串 编辑:程序博客网 时间:2024/06/06 01:40
1、准备参数
private List<Object[]> preparParam(IDataList ret) {
// 准备入参
List<Object[]> paramList = new ArrayList<>();
for (int i = 0; i < ret.size(); i++) {
IData detail = ret.getData(i);
String[] arr = new String[6];
arr[0] = detail.getString("orderDetailId");
arr[1] = detail.getString("clientId");
arr[2] = detail.getString("foodId");
arr[3] = detail.getString("foodName");
arr[4] = detail.getString("pictureUrl");
arr[5] = detail.getString("num");
paramList.add(arr);
}
return paramList;
// 准备入参
List<Object[]> paramList = new ArrayList<>();
for (int i = 0; i < ret.size(); i++) {
IData detail = ret.getData(i);
String[] arr = new String[6];
arr[0] = detail.getString("orderDetailId");
arr[1] = detail.getString("clientId");
arr[2] = detail.getString("foodId");
arr[3] = detail.getString("foodName");
arr[4] = detail.getString("pictureUrl");
arr[5] = detail.getString("num");
paramList.add(arr);
}
return paramList;
}
2、调用Dao层方法
private void insertIntoTempTable(IData param, IDataList ret) throws Exception {
if(Common.isNull(param.getString("clientId"))) {
throw new CustomException("餐机ID不可为空");
}
if(ret.size() <= 0) {
throw new CustomException("本餐机没有您可取的餐品");
}
// 根据param的餐机ID,删除本餐机的正在出货记录
orderDao.deleteByClientId(param);
// 插入本次的正在出货记录
orderDao.insertShipment(preparParam(ret));
if(Common.isNull(param.getString("clientId"))) {
throw new CustomException("餐机ID不可为空");
}
if(ret.size() <= 0) {
throw new CustomException("本餐机没有您可取的餐品");
}
// 根据param的餐机ID,删除本餐机的正在出货记录
orderDao.deleteByClientId(param);
// 插入本次的正在出货记录
orderDao.insertShipment(preparParam(ret));
}
3、Dao层方法实现
public void insertShipment(List<Object[]> params) {
String sql = "INSERT INTO mp_client_shipment (\n" +
"\torder_detail_id,\n" +
"\tclient_id,\n" +
"\tfood_id,\n" +
"\tfood_name,\n" +
"\turl,\n" +
"\tnum,\n" +
"\tcreated\n" +
")\n" +
"VALUES\n" +
"\t(?,?,?,?,?,?,now())";
jdbcTemplate.batchUpdate(sql, params);
}
String sql = "INSERT INTO mp_client_shipment (\n" +
"\torder_detail_id,\n" +
"\tclient_id,\n" +
"\tfood_id,\n" +
"\tfood_name,\n" +
"\turl,\n" +
"\tnum,\n" +
"\tcreated\n" +
")\n" +
"VALUES\n" +
"\t(?,?,?,?,?,?,now())";
jdbcTemplate.batchUpdate(sql, params);
}
阅读全文
0 0
- Java实现 调用JdbcTemplate.batchUpdate方法批量更新
- Spring批量更新JdbcTemplate.batchUpdate()
- Spring批量更新JdbcTemplate.batchUpdate()
- Spring批量更新JdbcTemplate.batchUpdate()
- Spring批量更新JdbcTemplate.batchUpdate()
- 关于Spring的JdbcTemplate批量更新batchUpdate()方法的返回值为-2的异常
- 关于JdbcTemplate批量更新batchUpdate()方法的返回值为-2
- jdbctemplate batchUpdate方法。
- JdbcTemplate batchUpdate 批量操作加事务
- mybatis 批量更新(batchUpdate)
- Spring JDBCtemplate.batchupdate 批量跟新数据 实例
- java Spring jdbcTemplate 批量更新数据 Mysql
- spring JdbcTemplate批量更新
- Mysql批量更新(JdbcTemplate)
- jdbctemplate batchupdate 的事务管理
- Spring JdbcTemplate batchUpdate() example
- Spring JdbcTemplate batchUpdate() example
- spring jdbcTemplate批量更新操作
- Jsch性能问题
- NFS作为根文件系统启动的几个关键点
- LeetCode算法题——Unique Paths I & II
- break跳出两重循环
- 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
- Java实现 调用JdbcTemplate.batchUpdate方法批量更新
- bash的基本特性
- 在Android应用中使用Log打印日志信息
- C++实现堆栈
- Android四大组件--Service详解
- String.indexOf源码分析
- 第二章 SQL命令参考-CREATE VIEW
- Python对文件和目录的操作
- Image Gradients