博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis--动态SQL
阅读量:2350 次
发布时间:2019-05-10

本文共 2738 字,大约阅读时间需要 9 分钟。

foreach标签

批量添加数据场景

Dao:

void insertBatchAddTaskRun(@Param("taskId") Integer taskId, @Param("lstNbr") List
lstNbr, @Param("status") String status);

SQL原型:

INSERT INTO user(name)VALUES("张三"),("张三");
insert into tb_task_nbr_var        
appId, taskId, nbr, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, create_time, sid,
#{item.appid,jdbcType=VARCHAR}, #{item.taskid,jdbcType=INTEGER}, #{item.nbr,jdbcType=VARCHAR}, #{item.var1,jdbcType=CHAR}, #{item.var2,jdbcType=CHAR}, #{item.var3,jdbcType=CHAR}, #{item.var4,jdbcType=CHAR}, #{item.var5,jdbcType=CHAR}, #{item.var6,jdbcType=CHAR}, #{item.var7,jdbcType=CHAR}, #{item.var8,jdbcType=CHAR}, #{item.var9,jdbcType=CHAR}, #{item.var10,jdbcType=CHAR}, #{item.createTime,jdbcType=DATE}, #{item.sid,jdbcType=VARCHAR},

Dao:

/**     * 批量添加     * @param lstTbTaskNbrVars     * @return     */    Integer batchInsertSelect(@Param("lstTbTaskNbrVars") List
lstTbTaskNbrVars);

Dao

/**     * 根据sid和号码查询记录数     * @param sid     * @param lstNbrs     * @return     */    Integer selectTaskNbrVarCountBySidAndNbrs(@Param("sid") String sid, @Param("nbrs") List
lstNbrs);

批量更新

UPDATE tb_task_nbr_var SET appId=#{item.appid},taskId=#{item.taskid} WHERE 1=1 AND sid=#{item.sid} AND nbr=#{item.nbr}

Dao:

Integer batchUpdateTaskNbrVarBySidAndNbr(List
lstTbTaskNbrVarList);

在if标签中使用枚举及外部静态方法,测试案例如下

枚举类

public enum UserIdEnum {
/** * 测试枚举 */ USER_01(1,"测试"); private Integer id; private String desc; UserIdEnum(Integer id, String desc) {
this.id = id; this.desc = desc; } public Integer getId() {
return id; } public String getDesc() {
return desc; }}

枚举只能定义在外部,在类中定义的话启动会报错。

参考https://blog.csdn.net/u010002184/article/details/86490787

你可能感兴趣的文章
Tab Layout 之单个Activity实现
查看>>
Tab Layout 之多个Activity实现
查看>>
FrameLayout之我见
查看>>
个人解读Activity之一
查看>>
实现自定义布局的Notification
查看>>
AlarmManager的学习与实现
查看>>
解读Content Provider之一
查看>>
解读Content Provider之二
查看>>
自定义UI实例
查看>>
推荐一个不错的自定义UI
查看>>
fedora16 设置 gedit软件的默认编码
查看>>
S3C6410 存储器映射
查看>>
Linux 3.3.0移植到S3C6410开发板上之一
查看>>
Busybox支持中文的解决办法
查看>>
Spring中BeanFactory和FactoryBean有什么区别?
查看>>
牛年(2021)的KPI
查看>>
快速识别图片类型
查看>>
理解云原生
查看>>
docker常见问题答疑
查看>>
mac最简配置maven
查看>>