Ibatis批量处理
1.插入
<insert id="insTable" resultClass="int">
INSERT INTO [dbo].[table]
([Id]
,[FId],[IsDel],[CreateTime]
)
VALUES
<iterate conjunction="," open="" close="">
(#[].Id#
,#[].FId# ,
,GETDATE()
)
</iterate>
</insert>
2.读取
<select id="queryTable" resultMap="Table" parameterClass="List">
select Id, FId, CreateTime
from Table (nolock) where IsDel=1 and [Id] in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</select>
3.修改
<update id="updateTable" parameterClass="list">
begin
<iterate conjunction="">
update TABLE
set
Fid=#[].FId#
where id = #[].Id#;
</iterate>
end;
</update>
var tables = new List<Table>()
{
{new Table() {Id = , FId = ""}},
{new Table() {Id = , FId = ""}},
};
this.mapper.Update("updateTable", tables);
4.删除
<delete id="delTable" parameterClass="List">
delete
from TABLE
where id in
<iterate conjunction="," open="(" close=")">
#[]#
</iterate>
</delete>
var ids=new List<int>(){,,};
this.mapper.Delete("delTable", ids);
5.类里字段列表插入(注意iterate 里多了一个property )
<insert id="insSaleOrderDetails" parameterClass="SaleOrderDetailModel" resultClass="int">
INSERT INTO [dbo].[SaleDetail]
(
[OrderId]
,[PId]
,[Price]
,[Quantity]
,[Amount]
,[CreateDate]
,[CreateTime]
,[Creator]
,[IsDel]
)
VALUES
<iterate conjunction="," open="" close="" property="Details">
(#SaleId#
,#Details[].PId#
,#Details[].Price#
,#Details[].Quantity#
,#Details[].Amount#
,getdate()
,getdate()
,#Creator#
,0
)
</iterate> </insert>
6.ibatis的比较运算
<isEqual> 相等。
<isNotEqual> 不等。
<isGreaterThan> 大于
<isGreaterEqual> 大于等于
<isLessThan> 小于
<isLessEqual> 小于等于 <isEqual property="Status" compareValue="1">
and Status>0
</isEqual> <isEqual property="sort_onlinetime" compareValue="asc">
order by u.online_time asc
</isEqual>
7.直接传入一个List
<!--列表查询需显示内容-->
<select id ="qryDataList" parameterClass="list" resultClass="DataModel">
select *
from DataConfig a (NOLOCK) join data b (NOLOCK)
on a.dataid=b.id
where a.isdel= and b.isdel= <isNotNull prepend="AND">
ModuleId in
<iterate conjunction="," open="(" close=")">
#[]#
</iterate> </isNotNull>
</select>
Ibatis批量处理的更多相关文章
- ibatis 批量更新(二)
1.情景展示 oracle数据库中,需要根据指定字段内容调用加密程序后,根据主键id进行更新其对应的字段mindex_id的值: 加密通过Java实现,然后通过Java对其进行更新: Java使用 ...
- IBatis批量插入数据
IBatis插入注意,数据量比较多的花,需要分批插入,策略是dao里面控制插入批次,mapper里面批量插入即可 @Override public Long insertBatch(List<W ...
- ibatis 批量更新(一)
1.4.2.3 批量修改 支持单个动态更新.批量动态更新 <update id="updateCONSULT_SCHEDULEDynamic" parameterClas ...
- ibatis 批量插入
ibatis 批量插入 CreationTime--2018年7月2日10点21分 Author:Marydon 1.说明 基于oracle的sql语句 2.主键id有默认值,比如:sys_gui ...
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- mysql+ibatis 批量插入
述:相比oracle批量插入,mysql批量插入就简单的多了,mysql支持values后面跟多条数据,进行批量插入,并且主键可以自增,不像oracle会遇到序列问题. 1.建表 CREATE TAB ...
- oracle+ibatis 批量插入-支持序列自增
首先请先看我前面一篇帖子了解oracle批量插入的sql:[oracle 批量插入-支持序列自增] 我用的ibatis2.0,sqlMap文件引入的标签如下: <!DOCTYPE sqlMap ...
- ibatis 批量插入oracle总结
1. 使用批量插入最先想到如下的插入语句 insert into a (id,name) values('','') ,('','') 但是 oracle 并不支持这种写法 然后查询得知可以使用如下写 ...
- IBatis 批量插入数据
sql语句 <!--批量插入待收流水--> <insert id="BatchInsertOrder" parameterClass="ArrayLis ...
随机推荐
- Linux查看操作系统版本的几种方式
Linux查看操作系统版本的几种方式: 1.uname -a 2.lsb_release -a 3.cat /etc/issue 4.cat /proc/version 5.cat /etc/redh ...
- laravel的orm增删改查
增: //通过模型新增 //使用模型的create方法新增数据 删: //通过模型删除 //通过主键删除 改: //通过模型更新数据库 //结合查询语句批量更新 查:
- Maven整理笔记の初步窥探
第一部分:引言 Maven是一款跨平台的项目管理工具,作为Apache组织的一个开源项目,主要服务于基于java平台的项目构建.依赖管理和项目信息管理. 项目构建:编译.运行单元测试.生成文档.打包和 ...
- wcf文件上传时碰到的配置问题
1.远程服务器返回了意外相应:(413) Request Entity Too Large 修改客户端配置maxReceivedMessageSize="2147483647" & ...
- 微软日志工厂 Microsoft.Extensions.Logging 中增加 log4net 的日志输出
前提: 需要nuget Microsoft.Extensions.Logging.Log4Net.AspNetCore 2.2.6: 描述:解决 .net core 微软日志工厂 Micros ...
- 搜索引擎Hoot的源码阅读(提供源码)
开门见山,最近阅读了一下一款开源引擎的源码,受益良多(学到了一些套路).外加好久没有写博客了(沉迷吃鸡,沉迷想念姑娘),特别开一篇.Hoot 的源码地址, 原理介绍地址.外加我看过之后的注释版本,当然 ...
- angular formBuilder
- .Net Core 项目引用本地类库方式(一)
最近了解到.NET Core 项目,引用本地类库DLL的方式有三种 1.非同解决方案下的引用,直接引用,浏览,找到对应的DLL,然后确定引用. 这种方式有个不好的地方就是,如果引用的DLL文件里面,也 ...
- 201621123012 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...
- BumpMap、NormalMap的区别
原文:http://linuxtest.blog.163.com/blog/static/199927088201275102145354/ 一种是Emboss Bump Map(浮雕凹凸贴图), ...