MyBatis注解模式批量insert方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

方法一:script标签方式

	@Insert("<script>insert into xxx (channelId,siteId) " +"values " +"<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\" >(#{item.channelId},#{item.siteId})" +"</foreach></script>")public int addxxx(@Param("list")List<xxxBean> xxxBean);

方法二:SQL直接生成   注意该方法经过实际使用出现问题!!!!!!!!!!!!!!!!!!!!.

当批量插入的字段中包涵中文时,这样拼接的中文参数是没有' '包裹的.存储的时候就会出错.因此该方式只适合存储字段中只有数字的情况,当然也可以在拼接的时候将''拼接上,但是很容易出错

@InsertProvider(type=SqlProvider.class,method="addccc")
public int addxxxx(@Param("aBean")List<xxxBean> xxxBean);
public String addccc(Map<String,Object> map){List<xxxBean> channelList = (List<xxxBean>)map.get("aBean");StringBuilder sql = new StringBuilder("insert into table").append(" (channelId, siteId) ").append("values ");for (int i=0;i<channelList.size();i++) {sql.append("(").append(channelList.get(i).getChannelId()).append(",").append(channelList.get(i).getSiteId()).append(")");if(i < channelList.size() - 1){sql.append(",");}}return sql.toString();}

方法三: 拼接下标取值的SQL 试用了下,没问题,有待观察

需要得到以下格式的SQL:

insert into user (name,sex) 
values 
(#{userBeans[0].name},#{userBeans[0].sex}),(#{userBeans[1].name},#{userBeans[1].sex})
public String insertUserByList(Map<String,Object> map){List<User> alarmInBeans = (List<userBeans>)map.get("userBeans");StringBuilder sql = new StringBuilder("insert into user (name, sex) values");// #{userBeans[0].name}// 拼接出这样的格式的最终sql通过#{}取值// 需要用来格式化的字符串模板MessageFormat mf = new MessageFormat("(#'{'userBeans[{0}].name}, #'{'alarmInBeans[{0}].sex})");for (int i = 0; i < alarmInBeans.size(); i++) {// 将{0}替换为object数组的第一个元素sql.append(mf.format(new Object[] { i }));if (i < alarmInBeans.size() - 1) {sql.append(",");}}return sql.toString();
}

 

转载于:https://my.oschina.net/MrBamboo/blog/882880

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚硅谷学费有住宿么_我在12个小时的住宿期间了解到的硅谷知识

尚硅谷学费有住宿么by Sahil Khoja由Sahil Khoja 我在12个小时的住宿期间了解到的硅谷知识 (What I learned about Silicon Valley during my 12 hour stay) #1 Unless you’re a designer or a developer, the billboards are pure gibberish.&#xff03;1除非您是设计师或开…

以下属于linux文件系统认为的文件是,信息安全技术题库:在Linux系统中,图形文件、数据文件、文档文件等都属于()。...

相关题目与解析Linux中图像文件属于()。A、文本文件B、连接文件C、特殊文件D、二进制文件主要用于Linux系统中进程间相互传递数据。A&#xff0e;FIFO文件B&#xff0e;设备文件C&#xff0e;链接文件D&#xff0e;目录文件关于Linux文件组织方式的说法中&#xff0c;(32)是错误…

关于eclipse中文注释乱码的问题

今天打开了一个以前的android项目&#xff0c;发现中文注释都成乱码啦&#xff01;&#xff01;&#xff01; 后来在网上找了一会解决方法&#xff0c;知道了中文的编码大体是两种&#xff1a;GBK(汉字内码扩展规范)和UTF-8(8-bit Unicode Transformation Format)。 因此问题的…

园林系统优秀党员推荐材料_园林绿化公司党员先进个人事迹材料

第1页共5页三一文库(www.31doc.com)〔园林绿化公司党员先进个人事迹材料〕我于年月踏出校门来到建设公司。初到公司&#xff0c;我被分配到分公司卉丰园林绿化公司工作。我努力学习公司各项规章制度和相关业务知识&#xff0c;多了解树木、绿化的有关情况。在此期间&#xff0c…

python入门(5)使用文件编辑器编写代码并保存执行

python入门&#xff08;5&#xff09;使用文件编辑器编写代码并保存执行 两款文本编辑器&#xff1a; 一个是Sublime Text&#xff0c;免费使用&#xff0c;但是不付费会弹出提示框&#xff1a; 一个是Notepad&#xff0c;免费使用&#xff0c;有中文界面&#xff1a; 请注意&…

js 获取时间戳的方法

(new Date()).valueOf()1541569364658(new Date()).getTime()1541569372623Number(new Date())1541569386622 // 2019年1月23日补充 *除以1000得到的是Unix时间戳 // Math.floor(new Date().getTime() / 1000), // 当天// (new Date(new Date().setHours(0, 0, 0, 0)) / 1000) …

agpl限制了开源_不要限制您的开源项目的潜力

agpl限制了开源by Julien Danjou通过朱利安丹乔(Julien Danjou) 不要限制您的开源项目的潜力 (Don’t limit your open source project’s potential) During the OpenStack summit a few weeks ago, I had the chance to talk to some people about my experience on running…

linux 批量同步,多主机目录到备份服务器批量同步脚本

为了方便同步多个主机的目录到备份服务器&#xff0c;写了如下脚本&#xff1a;#!/usr/bin/perluse strict;use File::Spec;use File::Basename;use File::Path;#设定存储路径my $storedir"/backup/";while(){chomp;my ($host,$s_path)split /\t/;my $project_namefi…

交流电的有效值rms值_交流电路的功率三角因数原来是这样理解的

点击“电工电气学习”关注即可免费订阅&#xff01;电工学习网&#xff1a;www.diangon.com关注电工学习网官方微信公众号“电工电气学习”&#xff0c;收获更多经验知识。交流电路中消耗的电能可以用直角三角形的三个边来表示&#xff0c;通常称为功率三角形我们在关于交流电路…

CSS3酷炫样式集合

1、30种炫酷CSS鼠标滑过按钮特效 2、CSS 变量实现炫酷鼠标悬浮效果 3、基于CSS3和jQuery实现跟随鼠标方位的Hover特效 4、css3金属质感登录表单 4、CSS3动态下拉菜单 5、CSS3鼠标悬浮特效 转载于:https://www.cnblogs.com/mankii/p/9922981.html

微信小程序工具篇

“工欲善其事必先利其器”&#xff0c;在开始新内容的学习之前&#xff0c;往往会对用哪个IDE开发而苦恼。因为自身硬件条件的限制&#xff08;公司给配的商务笔记本&#xff0c;真心的是中看不中用。也就是便携这么个有点了&#xff09;。所以在选择IDE方面&#xff0c;个人比…

NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)

题目描述 小渊是个聪明的孩子&#xff0c;他经常会给周围的小朋友们将写自己认为有趣的内容。最近&#xff0c;他准备给小朋友们讲解立体图&#xff0c;请你帮他画出立体图。 小渊有一块面积为m*n的矩形区域&#xff0c;上面有m*n个边长为1的格子&#xff0c;每个格子上堆了一些…

及时沟通的重要性_沟通与代码同样重要

及时沟通的重要性by Andrea Goulet通过安德烈古莱特(Andrea Goulet) 沟通与代码同样重要 (Communication Is Just As Important As Code) This past weekend, I had the pleasure of being the closing keynote at Ruby Nation. I expanded on one of the core values at Corg…

linux telnet smtp,如何使用Telnet测试IMAP与SMTP

1 前言笔者有时候调试邮件服务器需要使用Telnet直接去操纵IMAP与SMTP的服务&#xff0c;所以整理此文。2 最佳实践2.1 IMAP服务2.1.1 使用Telnet链接IMAP服务telnet imap.cmdschool.org 143信息显示如下&#xff0c;Trying 113.96.209.109...Connected to imap.cmdschool.org.E…

圆柱体积怎么算立方公式_圆柱体积公式怎么算

圆柱的体积计算公式同仁实验学校各年级组备课教师教案教案设计 课题 教学内容年级 六年级 科目 圆柱体积的计算公式数学教案类型新授P25 页例 5 及补充例题&#xff0c;完成“做一做”及练习五第 1~3 题。授课人1、通过用切割拼合的方法借助长方体的体积公式推导出圆柱的体积公…

Python学习笔记7:函数对象及函数对象作參数

一、lambda函数比如&#xff1a;fun1 lambda x,y: x y print fun1(3,4)输出&#xff1a;7lambda生成一个函数对象。该函数參数为x,y&#xff0c;返回值为xy。函数对象赋给func。func的调用与正常函数无异。上面的代码等价于&#xff1a;def fun2(x, y):return x y二、函数作…

github 建立_建立在线社区:GitHub教师

github 建立by Gitter通过吉特 建立在线社区&#xff1a;GitHub教师 (Building Online Communities: GitHub Teacher) We talked to the GitHub Training team about the free GitHub courses they offer to both developers and non-developers, as well as about the commun…

广数25i系统倒刀回刀m代码_广州数控系统GSK25i参数.pdf

GSK25i 铣床加工中心数控系统 使用手册(第 3 分册: 参数篇)在本使用手册中&#xff0c;我们将尽力叙述各种与该系统操作相关的事项。限于篇幅限制及产品具体使用等原因&#xff0c;不可能对系统中所有不必做和/或不能做的操作进行详细的叙述。因此&#xff0c;本使用手册中没有…

linux离线安装rjava,无法在ubuntu系统上安装rJava

我已经看过一些与此相关的帖子…但是所有建议的解决方案看起来似乎不工作….我在EC2实例中运行R&#xff0c;并运行以下命令来尝试安装rJava但无效…任何帮助将不胜感激。> install.packages("rJava")Installing package(s) into ‘/home/ubuntu/R/library’(as ‘…

HBase基础知识(三):HBase架构进阶、读写流程、MemStoreFlush、StoreFile Compaction、Region Split

1. 架构原理 1&#xff09;StoreFile 保存实际数据的物理文件&#xff0c;StoreFile以HFile的形式存储在HDFS上。每个Store会有一个或多个StoreFile&#xff08;HFile&#xff09;&#xff0c;数据在每个StoreFile中都是有序的。 2&#xff09;MemStore 写缓存&#xff0c;由于…