关于批量处理问题
来源:互联网 发布:电信网络新型诈骗 编辑:程序博客网 时间:2024/05/22 14:44
1.对于批量下载或者批量处理一些问题
2.sql条件后面要用in来做批量的处理(例:select * form exm_table where id in(' '));
3.最好要传入int类型的数组,string类型的数组可能最后要对传过来的参数进行处理这样会比较麻烦
贴代码:
String allRows = request.getParameter("content"); // 获得所选对象的order_id值得数组String[] temp = allRows.split(",");//以空格拆分字符串Integer[] obj = new Integer[temp.length];//int类型数组for(int i=0;i<temp.length;i++){obj[i]=Integer.valueOf(temp[i]);}List<Map> list =storeOrderManager.getList(obj);
首先getparameter一个string数组,然后我们要对string类型的数组进行处理把他转化成int类型的,然后去调用getlist一个接口。
public List<Map> getList(Integer [] contentArr) {String id_str = StringUtil.arrayToString(contentArr, ",");String sql = "select o.sn,from_unixtime(o.create_time,'%Y-%m-%d %H:%i:%s') as time,o.status,o.need_pay_money,oi.price,oi.num "+ "FROM es_order o LEFT JOIN es_order_items oi "+ "ON o.order_id = oi.order_id WHERE o.order_id in (" +id_str+ ")";return this.daoSupport.queryForList(sql.toString());}
/** * 把数组转换成String * * @param array * @return */public static String arrayToString(Object[] array, String split) {if (array == null) {return "";}String str = "";for (int i = 0; i < array.length; i++) {if (i != array.length - 1) {str += array[i].toString() + split;} else {str += array[i].toString();}}return str;}
这样批量就可以了,其实这样搞来搞去感觉像智障一样,没办法项目里的人不允许去动自带的工具类。
还有一个接收的参数是string类型的数组:
@ResponseBody@RequestMapping(value = "/export-excel")public void exportExcel(HttpServletResponse response) {// 创建HSSFWorkbook对象(excel的文档对象)HSSFWorkbook wb = new HSSFWorkbook();try {//HttpSession session = request.getSession();//String ordersn = session.getAttribute("ordersn").toString();//HttpServletRequest request = ThreadContextHolder.getHttpRequest();//String date = session.getAttribute("date").toString();//String type = session.getAttribute("type").toString();//String serchKey = session.getAttribute("serchKey").toString();//List<Map> memberAccountList = memberAccountManager.memberAccountList(date, type, serchKey);//Integer orderId = Integer.valueOf(request.getParameter("order_id"));HttpServletRequest request = ThreadContextHolder.getHttpRequest();String ordersn = request.getParameter("ordersn");List<String> list = new ArrayList<String>();list.add(ordersn);List<Map> get = storeOrderManager.getList(list);
调用getlist
public List<Map> getList(List<String> list) {String id_str = StringUtil.listToString(list, ",");String str =id_str.replace(",", "','");String sql = "select o.sn,from_unixtime(o.create_time,'%Y-%m-%d %H:%i:%s') as time,o.status,o.need_pay_money,oi.price,oi.num "+ "FROM es_order o LEFT JOIN es_order_items oi "+ "ON o.order_id = oi.order_id WHERE o.sn in ('" +str+ "')";return this.daoSupport.queryForList(sql.toString());}
同样还是去调用工具类
/** * 将一个list转为以split分隔的string * * @param list * @param split * @return */public static String listToString(List list, String split) {if (list == null || list.isEmpty())return "";StringBuffer sb = new StringBuffer();for (Object obj : list) {if (sb.length() != 0) {sb.append(split);}sb.append(obj.toString());}return sb.toString();}
注意:在MySQL中string类型的参数必须要加上单引号才行,int类型无所谓所以:
String str =id_str.replace(",", "','");
遍历数组之后要加上一个替换符号才行
阅读全文
0 0
- 关于批量处理问题
- 关于批量添加问题
- 关于mybatis批量问题
- 批量处理字符串截取问题
- 关于批量更新的问题
- 关于OCX控件批量处理响应函数
- php处理批量提交的问题
- 一个数据库批量处理中的事务问题
- Proc批量处理需要注意的问题
- python批量处理图片命名问题
- 批量处理AS文件编码问题
- jsp:关于jsp批量删除问题
- 关于oracle批量插入数据问题
- 关于mybatis+mysql批量插入的问题
- 关于MongoDB批量修改不成功的问题
- 批量处理
- 批量处理
- 批量处理
- 业务办理
- Leetcode-124: Binary Tree Maximum Path Sum
- UVA
- Android应用组件之片段(Fragment)介绍3
- Scala学习笔记——20170820
- 关于批量处理问题
- Java基础面试
- 简单题
- Spring Boot项目像普通项目一样通过Tomcat发布与部署、运行
- GIL对线程效率的影响
- ubuntu14.04安装scikit-learn
- 如何计算两点之间的距离
- 【ROBOT XRT1】 玩转 红外遥控
- C#内存管理解析