mybatis动态数据更新 + 批量动态数据插入
动态更新 <update id="updateElevator" parameterType="com.diantijiang.saas.data.elevator.Elevator" >
update dc_elevator
<set>
<if test="inspectionCode != null">inspection_code = #{inspectionCode,jdbcType=VARCHAR},</if>
<if test="brandCode!=null">brand_code = #{brandCode},</if>
<if test="modelSpecs!=null">model_specs = #{modelSpecs},</if>
<if test="elevatorType!=null">elevator_type=#{elevatorType},</if>
<if test="idDistrict!=null">id_district=#{idDistrict},</if>
<if test="idPropertyCompany!=null">id_property_company=#{idPropertyCompany},</if>
<if test="idServiceCompany!=null">id_service_company=#{idServiceCompany},</if>
<if test="idServiceManager!=null">id_service_manager=#{idServiceManager},</if>
<if test="contractCode!=null">contract_code=#{contractCode},</if>
<if test="runStatus!=null">run_status=#{runStatus},</if>
<if test="qrCodeCheck!=null">qr_code_check=#{qrCodeCheck},</if>
<if test="qrCodeProduct!=null">qr_code_product=#{qrCodeProduct},</if>
<if test="lastAnnualDate!=null">last_annual_date=#{lastAnnualDate},</if>
<if test="nextAnnualDate!=null">next_annual_date=#{nextAnnualDate},</if>
<if test="lastMaintainDate!=null">last_maintain_date=#{lastMaintainDate},</if>
<if test="nextMaintainDate!=null">next_maintain_date=#{nextMaintainDate},</if>
<if test="repairTimes!=null">repair_times=#{repairTimes},</if>
<if test="maintainTimes!=null">maintain_times=#{maintainTimes},</if>
<if test="accessoriesExchanges!=null">accessories_exchanges=#{accessoriesExchanges},</if>
<if test="installDate!=null">Install_date=#{installDate},</if>
<if test="status!=null">status=#{status},</if>
<if test="createdBy!=null">created_by=#{createdBy},</if>
<if test="createdDate!=null">created_date=#{createdDate},</if>
<if test="updatedBy!=null">updated_by=#{updatedBy},</if>
<if test="updatedDate!=null">updated_date=#{updatedDate}</if>
</set>
where
id_elevator = #{idElevator}
</update> 批量动态插入
<insert id="batchInsert" parameterType="java.util.List" >
insert into dc_elevator
(
<foreach collection="list" separator="," item="item" index="index">
<if test="item.inspectionCode != null">inspection_code,</if>
<if test="item.brandCode!=null">brand_code,</if>
<if test="item.modelSpecs!=null">model_specs,</if>
<if test="item.elevatorType!=null">elevator_type,</if>
<if test="item.idDistrict!=null">id_district,</if>
<if test="item.idPropertyCompany!=null">id_property_company,</if>
<if test="item.idServiceCompany!=null">id_service_company,</if>
<if test="item.idServiceManager!=null">id_service_manager,</if>
<if test="item.contractCode!=null">contract_code,</if>
<if test="item.runStatus!=null">run_status,</if>
<if test="item.qrCodeCheck!=null">qr_code_check,</if>
<if test="item.qrCodeProduct!=null">qr_code_product,</if>
<if test="item.lastAnnualDate!=null">last_annual_date,</if>
<if test="item.nextAnnualDate!=null">next_annual_date,</if>
<if test="item.lastMaintainDate!=null">last_maintain_date,</if>
<if test="item.nextMaintainDate!=null">next_maintain_date,</if>
<if test="item.repairTimes!=null">repair_times,</if>
<if test="item.maintainTimes!=null">maintain_times,</if>
<if test="item.accessoriesExchanges!=null">accessories_exchanges,</if>
<if test="item.installDate!=null">Install_date,</if>
<if test="item.status!=null">status,</if>
<if test="item.createdBy!=null">created_by,</if>
<if test="item.createdDate!=null">created_date,</if>
<if test="item.updatedBy!=null">updated_by,</if>
<if test="item.updatedDate!=null">updated_date,</if>
id_elevator
</foreach>
)
values
<foreach collection="list" index="index" item="item" separator=",">
(
<if test="item.inspectionCode != null">#{item.inspectionCode},</if>
<if test="item.brandCode!=null">#{item.brandCode},</if>
<if test="item.modelSpecs!=null">#{item.modelSpecs},</if>
<if test="item.elevatorType!=null">#{item.elevatorType},</if>
<if test="item.idDistrict!=null">#{item.idDistrict},</if>
<if test="item.idPropertyCompany!=null">#{item.idPropertyCompany},</if>
<if test="item.idServiceCompany!=null">#{item.idServiceCompany},</if>
<if test="item.idServiceManager!=null">#{item.idServiceManager},</if>
<if test="item.contractCode!=null">#{item.contractCode},</if>
<if test="item.runStatus!=null">#{item.runStatus},</if>
<if test="item.qrCodeCheck!=null">#{item.qrCodeCheck},</if>
<if test="item.qrCodeProduct!=null">#{item.qrCodeProduct},</if>
<if test="item.lastAnnualDate!=null">#{item.lastAnnualDate},</if>
<if test="item.nextAnnualDate!=null">#{item.nextAnnualDate},</if>
<if test="item.lastMaintainDate!=null">#{item.lastMaintainDate},</if>
<if test="item.nextMaintainDate!=null">#{item.nextMaintainDate},</if>
<if test="item.repairTimes!=null">#{item.repairTimes},</if>
<if test="item.maintainTimes!=null">#{item.maintainTimes},</if>
<if test="item.accessoriesExchanges!=null"> #{item.accessoriesExchanges},</if>
<if test="item.installDate!=null">#{item.installDate},</if>
<if test="item.status!=null">#{item.status},</if>
<if test="item.createdBy!=null">#{item.createdBy},</if>
<if test="item.createdDate!=null">#{item.createdDate},</if>
<if test="item.updatedBy!=null">#{item.updatedBy},</if>
<if test="item.updatedDate!=null">#{item.updatedDate},</if>
#{item.idElevator}
)
</foreach>
</insert> 动态插入,返回主键
<insert id="insertCardWithId" parameterType="com.diantijiang.saas.account.entity.BankCard">
/*先插入,再将主键返回实体*/
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cardId">
SELECT LAST_INSERT_ID()
</selectKey>
/*插入*/
INSERT INTO ac_bank_card
<trim prefix="(" suffix=")" suffixOverrides=",">
bank_name,
card_number,
<if test="null != expiryDate and ''!= expiryDate">expiry_date,</if>
ower,
account_id
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{bankName},
#{cardNumber},
<if test="null != expiryDate and ''!=expiryDate">
#{expiryDate},
</if>
#{ower},
#{accountId}
</trim>
</insert>
mybatis动态数据更新 + 批量动态数据插入的更多相关文章
- sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
		/****** Object: StoredProcedure [dbo].[getSplitValue] Script Date: 03/13/2014 13:58:12 ******/ SET A ... 
- .NET批量大数据插入性能分析及比较
		数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ... 
- C#批量将数据插入SQLServer数据库
		Database db = CreateDatabase(); var varConnnection = db.CreateConnection(); //获取连 ... 
- Jquery 动态生成表单 并将表单数据 批量通过Ajax插入到数据库
		利用Jquery 动态生成 Table 表单 之后利用each 方法来遍历所有文本框获取文本的value值 并通过Ajax 将数据 提交到Web服务里把数据插入数据库 Html页面 <!DOC ... 
- hive从查询中获取数据插入到表或动态分区
		Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两 ... 
- mybatis使用序列批量插入数据
		mybatis只提供了单条数据的插入,要批量插入数据我们可以使用循环一条条的插入,但是这样做的效率太低下,每插入一条数据就需要提交一次,如果数据量几百上千甚至更多,插入性能往往不是我们能接受的,如下例 ... 
- MyBatis Plus 批量数据插入功能,yyds!
		最近 Review 小伙伴代码的时候,发现了一个小小的问题,小伙伴竟然在 for 循环中进行了 insert (插入)数据库的操作,这就会导致每次循环时都会进行连接.插入.断开连接的操作,从而导致一定 ... 
- MyBatis 使用 foreach 批量插入
		MyBatis 使用 foreach 批量插入 参考博文 老司机学习MyBatis之动态SQL使用foreach在MySQL中批量插入 使用MyBatis一次性插入多条数据时候可以使用 <for ... 
- Mybatis映射原理,动态SQL,log4j
		1.理清mybatis中的#和$之间的区别? #{ }:表示一个预处理参数,参数类型不定,是根据传入的参数类型来设定的. 类似于JDBC中的? 特例使用,模糊查询:(针对oracle): and us ... 
随机推荐
- Linux文件系统类型和区别
			文件系统EXT3,EXT4和XFS的区别: 1. EXT3 (1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件 (2)Ext3目前只支持32000个子目录 ... 
- jquery删除内容是动态修改序号
			如图,点击删除图标的时候要删除当前的一条记录,同时界面上的序号要动态的排列好 以下是html结构: jquery实现思路: 首先,需要获取到当前要删除盒子的序号$indexCur,然后遍历父盒子,取出 ... 
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十二 || 三种跨域方式比较,DTOs(数据传输对象)初探
			更新反馈 1.博友@落幕残情童鞋说到了,Nginx反向代理实现跨域,因为我目前还没有使用到,给忽略了,这次记录下,为下次补充.此坑已填 2.提示:跨域的姊妹篇——<三十三║ ⅖ 种方法实现完美跨 ... 
- 发布 ASP.NET Core 2.x 应用到 Ubuntu
			简单绍一下如何将ASP.NET Core 应用发布到Linux (Ubuntu)服务器上,都是文档的东西. 服务器结构 ASP.NET Core 2.x 有两种server: HTTP.sys 只支持 ... 
- springBoot(13)---整合Druid实现多数据源和可视化监控
			SpringBoot整合Druid实现多数据源和可视化监控 先献上github代码地址:https://github.com/yudiandemingzi/springboot-manydatasou ... 
- GC参考手册 —— GC 调优(工具篇)
			JVM 在程序执行的过程中, 提供了GC行为的原生数据.那么, 我们就可以利用这些原生数据来生成各种报告.原生数据(raw data) 包括: 各个内存池的当前使用情况, 各个内存池的总容量, 每次G ... 
- 【反编译系列】三、反编译神器(jadx)
			版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 今天在看玩Android网站,搜索反编译的时候,才发现有个更好用的反编译工具.特此记录下. 下载 http://www.wanand ... 
- 【Python3爬虫】使用异步协程编写爬虫
			一.基本概念 进程:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.进程是操作系统动态执行的基本单元. 线程:一个进程中包含若干线程,当然至少有一个线程,线程可以利用进程所拥有的资源.线程 ... 
- Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比
			pdf 是个异常坑爹的东西,有很多处理 pdf 的库,但是没有完美的. 一.pdfminer3k pdfminer3k 是 pdfminer 的 python3 版本,主要用于读取 pdf 中的文本. ... 
- WebApiClient的JsonPatch局部更新
			1. 文章目的 随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍使用WebApiClient来完成JsonPatch提交的新 ... 
