最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis-plus 使用Condition拼接Sql語句各方法的用法

 更新時(shí)間:2021年07月13日 09:32:38   作者:萬萬沒想到0831  
這篇文章主要介紹了mybatis-plus 使用Condition拼接Sql語句各方法的用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis-plus Condition拼接Sql語句各方法

1.setSqlSelect—用于添加查詢的列信息

public Wrapper<T> setSqlSelect(String... columns) {
        StringBuilder builder = new StringBuilder();
        String[] arr = columns;
        int len = columns.length;
        for(int i = 0; i$ < len; ++i$) {
            String column = arr$[i$];
            if (StringUtils.isNotEmpty(column)) {
                if (builder.length() > 0) {
                    builder.append(",");
                }
                builder.append(column);
            }
        }
        this.sqlSelect = builder.toString();
        return this;
    }

2.eq—拼接等于的where語句 column=params

public Wrapper<T> eq(boolean condition, String column, Object params) {
        if (condition) {
            this.sql.WHERE(this.formatSql(String.format("%s = {0}", column), params));
        }
        return this;
    }

3.ne—拼接不等于的where語句 column<>params

public Wrapper<T> ne(boolean condition, String column, Object params) {
        if (condition) {
            this.sql.WHERE(this.formatSql(String.format("%s <> {0}", column), params));
        }
        return this;
    }

4.allEq–拼接數(shù)據(jù)以map封裝的等于的where語句

public Wrapper<T> allEq(boolean condition, Map<String, Object> params) {
        if (condition && MapUtils.isNotEmpty(params)) {
            Iterator iterator = params.entrySet().iterator();
            while(iterator.hasNext()) {
                Entry<String, Object> entry = (Entry)iterator.next();
                Object value = entry.getValue();
                if (StringUtils.checkValNotNull(value)) {
                    this.sql.WHERE(this.formatSql(String.format("%s = {0}", entry.getKey()), entry.getValue()));
                }
            }
        }
        return this;
    }

5.gt—-拼接大于號的where語句

public Wrapper<T> gt(boolean condition, String column, Object params) {
        if (condition) {
            this.sql.WHERE(this.formatSql(String.format("%s > {0}", column), params));
        }
        return this;
    }

6.ge–拼接大于等于號的where語句 (代碼類似5)

7.lt—拼接小于號的where語句

8.le—小于等于

 /**
         *
         AND (user_name=#{ew.paramNameValuePairs.MPGENVAL1} AND id=1)
         OR (user_status=#{ew.paramNameValuePairs.MPGENVAL2} OR status=1
         AND user_nickname NOT LIKE #{ew.paramNameValuePairs.MPGENVAL3})
         AND (new=xx AND hhh LIKE #{ew.paramNameValuePairs.MPGENVAL4})
         AND (pwd=11 AND n1 IS NOT NULL AND n2 IS NOT NULL AND n3 IS NULL)
         GROUP BY x1, x2,x3
         HAVING (x1=11 AND x3=433)
         ORDER BY dd, d1,d2
         */
        ew.where("user_name={0}", "'zhangsan'").and("id=1")
                .orNew("user_status={0}", "0").or("status=1")
                .notLike("user_nickname", "notvalue")
                .andNew("new=xx").like("hhh", "ddd")
                .andNew("pwd=11").isNotNull("n1,n2").isNull("n3")
                .groupBy("x1").groupBy("x2,x3")
                .having("x1=11").having("x3=433")
                .orderBy("dd").orderBy("d1,d2");

9.and — 在沒有出現(xiàn)下一個(gè)andNew或者orNew之前的所有where條件在一個(gè)括號里

10.andNew –新建一組and語句

11.or,orNew–同上

mybatis-plus 自定義sql語句

 @Override
    public Map<String, Object> kccxhj(Term term) throws Exception{
        QueryWrapper<EZShangPin> wrapper=new QueryWrapper<>();
        if(MyStrUtils.isNotEmpty(term.getQ())){
            CWMSTmdrdmx tmdrdmx=new CWMSTmdrdmx();
            tmdrdmx.setTm(term.getQ());
            tmdrdmx.setSl(1);
            tmService.recongnizeSptm(tmdrdmx);
            //log("tmdrdmx",tmdrdmx);
            if(tmdrdmx.getResult()==0){
                wrapper.eq("spdm",tmdrdmx.getSpdm());
            }else{
                wrapper.like("spdm+'_'+spmc+'_'+isnull(zjf,'')", term.getQ());
            }
        }
        wrapper.eq(MyStrUtils.isNotEmpty(term.getPpdm()),"fjsx1",term.getPpdm());
        wrapper.eq(MyStrUtils.isNotEmpty(term.getDldm()),"fjsx2",term.getDldm());
        wrapper.eq(MyStrUtils.isNotEmpty(term.getJjdm()),"fjsx3",term.getJjdm());
        wrapper.eq(MyStrUtils.isNotEmpty(term.getNddm()),"fjsx4",term.getNddm());
        wrapper.eq("isnull(tzsy,0)", 0); 
        wrapper.eq("ckdm", term.getCurrentsddm()); 
        return repMapper.kccxhj(wrapper);
    }
@Mapper
@Repository
public interface RepMapper extends BaseMapper { 
    Map<String, Object> kccxhj(@Param(Constants.WRAPPER) QueryWrapper wrapper); 
}
   <select id="kccxhj" resultType="java.util.Map"> 
        SELECT SUM(SL) AS zsl,sum(sl*bzsj) as zje
        from(
                select ckdm,ShangPin.spdm,ShangPin.spmc,ShangPin.zjf,shanpin.bzsj,ShangPin.FJSX1,ShangPin.FJSX2,ShangPin.FJSX3,ShangPin.FJSX4,SPKCB.SL
                from shangpin,SPKCB
                where shangpin.spdm=spkcb.SPDM
        ) a
        ${ew.customSqlSegment} 
    </select>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺析Spring的JdbcTemplate方法

    淺析Spring的JdbcTemplate方法

    本篇淺析Spring的JdbcTemplate方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 關(guān)于PreparedStatement的setObject作用及說明

    關(guān)于PreparedStatement的setObject作用及說明

    這篇文章主要介紹了關(guān)于PreparedStatement的setObject作用及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • mybatis分頁效果實(shí)現(xiàn)代碼

    mybatis分頁效果實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了mybatis分頁效果的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java bat批處理命令啟動jar包的操作方法

    Java bat批處理命令啟動jar包的操作方法

    這篇文章主要介紹了JAVA bat批處理命令啟動jar包,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Spring配置文件解析之BeanDefinitionParserDelegate詳解

    Spring配置文件解析之BeanDefinitionParserDelegate詳解

    這篇文章主要介紹了Spring配置文件解析之BeanDefinitionParserDelegate詳解,對于Spring的配置文件的解析處理操作是在BeanDefinitionParserDelegate中進(jìn)行處理操作,接下來我們簡單介紹一下BeanDefinitionParserDelegate所做的處理操作,需要的朋友可以參考下
    2024-02-02
  • Java類初始化執(zhí)行流程解析

    Java類初始化執(zhí)行流程解析

    這篇文章主要介紹了Java類初始化執(zhí)行流程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Java集合Set、List、Map的遍歷方法

    Java集合Set、List、Map的遍歷方法

    這篇文章主要介紹了Java集合Set、List、Map的遍歷方法,是非常實(shí)用的遍歷技巧,需要的朋友可以參考下
    2014-09-09
  • 如何使用ActiveMQ中間件方式發(fā)送郵件

    如何使用ActiveMQ中間件方式發(fā)送郵件

    這篇文章主要介紹了如何使用ActiveMQ中間件方式發(fā)送郵件的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java字符串反轉(zhuǎn)示例分享

    java字符串反轉(zhuǎn)示例分享

    這篇文章主要介紹了將一個(gè)字符串進(jìn)行反轉(zhuǎn)或者字符串中指定部分進(jìn)行反轉(zhuǎn)的方法,大家參考使用吧
    2014-01-01
  • linux配置java環(huán)境變量詳細(xì)過程

    linux配置java環(huán)境變量詳細(xì)過程

    這篇文章主要介紹了linux配置java環(huán)境變量詳細(xì)過程,需要的朋友可以參考下
    2015-09-09

最新評論

阿勒泰市| 贵溪市| 灵寿县| 和顺县| 安溪县| 昭通市| 涟水县| 乌兰浩特市| 孝感市| 锦屏县| 麦盖提县| 资源县| 托克逊县| 林西县| 萨迦县| 连平县| 施甸县| 新龙县| 邯郸县| 龙州县| 登封市| 博客| 绥滨县| 克什克腾旗| 雷波县| 崇明县| 荔浦县| 玉树县| 垦利县| 余干县| 甘洛县| 民丰县| 甘肃省| 广河县| 苏尼特左旗| 额尔古纳市| 酉阳| 延川县| 美姑县| 南皮县| 玉门市|