MyBatis SQL语句构建器
1. 创建一个类,使用SQL类,简单地创建一个实例来调用方法生成SQL语句
package com.jwen.provider; import com.jwen.domain.Video; import org.apache.ibatis.jdbc.SQL; /** * video构建动态sql语句 */ public class VideoProvider { /** * 更新video动态语句 * @param video * @return */ public String updateVideo(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(); } }
2. 使用对应的注解来使用这个实例
@UpdateProvider(type=VideoSqlProvider.class,method="updateVideo") 更新
@InsertProvider 插入
@DeleteProvider 删除
@SelectProvider 查询
@UpdateProvider(type = VideoProvider.class,method = "updateVideo") int update(Video Video);
增删改查语句的构建,官网有明确的说明,这里不再赘述!
参考文章:https://www.cnblogs.com/zhangminghui/p/4903351.html
官网文档:https://mybatis.org/mybatis-3/zh/statement-builders.html