首页 技术 正文
技术 2022年11月21日
0 收藏 399 点赞 2,713 浏览 920 个字

利用了iterate标签来做的:

先看iterate标签几个属性的:

prepend-加在open指定的符号之前的符号,添加在语句的前面(可选)property-类型为ArrayList的用于遍历的元素, 这个必须是一个IList类型(可选)open-整个遍历内容体开始的字符串,用于定义括号(可选)close-整个遍历内容体结束的字符串,用于定义括号(可选)conjunction-每次遍历内容之间的字符串,可以空格,AND或OR(可选)

配置文件如下:

<!--批量导入数据-->
<insert id="AddTmpResource" parameterClass="ArrayList">
<iterate conjunction=" " open="" close="" >
<![CDATA[
insert into $[].TableName$ ([PhoneNum], [Name], [Resource]) values
(#[].PhoneNum#, #[].Name#, #[].Resource#)
]]>
</iterate>
</insert>

说明:

parameterClass=”ArrayList” 这里一定要是ArrayList ,IBatis.net只识别这种集合类型.

<iterate conjunction=” ” open=”” close=””  > 因为我要循环插入,所以这里全部留空了,conjunction 这个一定要带一个空格.

#[].PhoneNum# 这种格式其实就是遍历时候的表达式,理解为 ArrayList[i].PhoneNum,之前看了一些java中的批量插入,[]之前需要放上变量名,额..这里不要放,否则会报错.

$[].TableName$ 我把数据库也设置能动态的,也为了说明 # 和$ 有什么不同.

‘#’ 可以简单理解为占位符,类似于ADO.NET的参数化, ‘$’ 可以理解为拼接字符串,用这种时候千万要注意sql注入.

C#代码就很简单了..

 IList arraylist = new ArrayList();
....//此处省略获取数据的代码
//arraylist 是泛型
Mapper.CRM.Insert("AddTmpResource", arraylist);
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,105
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,582
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,429
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,836
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,919