动态SQL语句:Mybaties SqlProvider
Posted 讲文明懂礼貌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态SQL语句:Mybaties SqlProvider相关的知识,希望对你有一定的参考价值。
1、注解
@UpdateProvider(type = ClassName.class,method = "methodName")//更新
@InsertProvider//插入
@SelectProvider//选择
@DeleteProvider//删除
2、写法
package net.xdclass.xdvidio.provider; /** * @Author Pandas * @Date 2020/3/31 21:03 * @Version 1.0 * @Descrition video构建动态sql语句 */ import net.xdclass.xdvidio.domain.Video; import org.apache.ibatis.jdbc.SQL; public class VideoProvider { /** * 更新vidio的动态SQL * @param video * @return */ public String updaeVideo(final Video video){ return new SQL(){{ UPDATE("video"); //条件写法 if(video.getTitle()!=null){ SET("title=#{title}"); } if(video.getSummary()!=null){ SET("summary=#{summary}"); } if(video.getCoverImg()!=null){ SET("cover_img=#{coverImg}"); } if(video.getViewNum()!=null){ SET("view_num=#{viewNum}"); } if(video.getPrice()!=null){ SET("price=#{price}"); } if(video.getOnline()!=null){ SET("online=#{online}"); } if(video.getPoint()!=null){ SET("point=#{point}"); } WHERE("id=#{id}"); }}.toString(); } }
然后在VideoMapper里面添加:
@UpdateProvider(type = VideoProvider.class,method = "updateVideo") Integer update(Video video);
以上是关于动态SQL语句:Mybaties SqlProvider的主要内容,如果未能解决你的问题,请参考以下文章
mybaties动态sql中foreach怎么判断是最后一个