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

W3CSchool:https://www.w3cschool.cn/mybatis/k8ay1im3.html

原文地址:https://www.cnblogs.com/jwen1994/p/12113756.html