美文网首页
Spring Boot mybatis 配合 provider

Spring Boot mybatis 配合 provider

作者: Vissioon | 来源:发表于2017-05-04 11:43 被阅读1815次

    provider 可以动态生成 sql

    在处理复杂逻辑而又不能使用存储过程的时候有很大优势

    Mapper 中配置

    @UpdateProvider(type = MerchantProvider.class, method = "updateSalesman")
    void updateSalesman(@Param("M") MerchantSalesDTO merchantSalesDTO);
    

    Provider 中配置

    import com.icekredit.merchant.entity.DTO.MerchantDTO;
    import com.icekredit.merchant.entity.DTO.MerchantSalesDTO;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.jdbc.SQL;
    
    /**
     * Created by johnzh on
     * 2017/4/27. 10:01
     */
    public class MerchantProvider {
        public String updateSalesman(@Param("M") MerchantSalesDTO merchantSalesDTO){
            SQL sql = new SQL(){{
                UPDATE("merchant_sales");
    
                if (merchantSalesDTO.getSalesName() != null){
                    SET("sales_name = #{M.salesName}");
                }
                if (merchantSalesDTO.getUpper() != null){
                    SET("upper = #{M.upper}");
                }
                WHERE("sales_id = #{M.salesId}");
            }};
            return sql.toString();
        }
    }
    

    相关文章

      网友评论

          本文标题:Spring Boot mybatis 配合 provider

          本文链接:https://www.haomeiwen.com/subject/yfvrtxtx.html