mybatis批量插入语句(List<T>)
来源:互联网 发布:如何查看tcp端口占用 编辑:程序博客网 时间:2024/05/03 19:29
我的接口定义:
int insertAbilityPackageConsumer(AbilityPackageConsumer abilityPackageConsumer);
我的入参实体长这样:(为了减少代码量,我只放上了属性)
public class AbilityPackageConsumer implements Serializable{/** * */private static final long serialVersionUID = 7922942036926940889L;private Long appId;//应用idprivate Long abilityPackageId;//能力包idprivate Long abilityId;//能力idprivate Long abilityRuleId;//能力收费规则idprivate Long chargeRuleId;//收费策略idprivate Date subscribeTime;//订购时间private Long crtUid;//创建者private Date crtTime;//创建时间
private List<AbilityDetail> abilityList;}
那么mybatis的批量插入语句应该怎么写呢?
我在映射文件中是这么写的:
<insert id="insertAbilityPackageConsumer">insert into ability_package_consumer(app_id,ability_package_id,ability_id,ability_rule_id,charge_rule_id,subscribe_time,crt_uid,crt_time)select A.* from(<foreach collection="abilityList" item="ability" index="index" separator="UNION">SELECT#{appId,jdbcType=BIGINT} as app_id, #{abilityPackageId,jdbcType=BIGINT} as ability_package_id ,#{ability.abilityId,jdbcType=BIGINT} as ability_id,#{ability.abilityRuleId,jdbcType=BIGINT} as ability_rule_id,#{ability.chargeRuleId,jdbcType=BIGINT} as charge_rule_id,now() as subscribe_time,#{crtUid,jdbcType=BIGINT} as crt_uid,now() as crt_timefrom dual</foreach>) A</insert>
通过foreach的遍历完成一个多记录的联合视图,collection的属性值和实体中的一致,item自定义,然后通过.访问其属性值。
这主要是基于sql中的insert into 表名(?,?,?) (?,?,?) union (?,?,?)这种语句的使用,表名后的?代表字段名,后面的则都是属性值。
阅读全文
0 0
- mybatis批量插入语句(List<T>)
- Mybatis批量插入语句(oracle)
- List-mybatis批量插入数据
- Mybatis:List批量插入数据
- Oracle使用Mybatis实现List批量插入数据(转载)
- T-sql语句批量插入数据
- mybatis 批量插入 list<object> in oracle
- mybatis批量插入,传入List。mysql
- mybatis 批量插入list对象集合
- mybatis+oracle+foreach list 批量插入数据
- mybatis批量插入数据List<String>
- mybatis批量插入和修改sql语句?
- MyBatis foreach语句批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- Oracle使用Mybatis实现List批量插入数据
- 使用mybatis在oracle进行批量插入的insert语句
- JSON的深刻剖析
- Java8 lambda表达式使用总结
- uC/OS-II系统学习笔记(7)—— 时间管理
- void*类型的形参
- WordPress解析系列之源码加载架构简单解读
- mybatis批量插入语句(List<T>)
- 史上前端面试最全问答(附答案)
- hive多用户模式
- Java 古堡算式
- 博客之初体验
- scrapy Selector 选择器
- PHP输出函数print, printf, sprintf的区别
- HTTP知识填坑
- div标签清除float浮动样式方法