iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >mybatis-plus 使用Condition拼接Sql语句各方法的用法
  • 135
分享到

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

2024-04-02 19:04:59 135人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

mybatis-plus Condition拼接sql语句各方法 1.setSqlSelect—用于添加查询的列信息 public Wrapper<T> s

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–拼接数据以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—小于等于


 
        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 — 在没有出现下一个andNew或者orNew之前的所有where条件在一个括号里

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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: mybatis-plus 使用Condition拼接Sql语句各方法的用法

本文链接: http://www.lsjlt.com/news/130349.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis-plus 使用Condition拼接Sql语句各方法的用法
    mybatis-plus Condition拼接Sql语句各方法 1.setSqlSelect—用于添加查询的列信息 public Wrapper<T> s...
    99+
    2024-04-02
  • navicat用sql语句的方法
    小编给大家分享一下navicat用sql语句的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先要在navicat的【查询编...
    99+
    2024-04-02
  • MyBatis中动态SQL拼接的方法是什么
    MyBatis中动态SQL拼接的方法主要是使用if、choose、when、otherwise等标签来实现动态条件拼接。具体来说,可...
    99+
    2024-04-08
    MyBatis
  • mybatis plus in方法使用详解
    如果是List类型的String,例如:List<String>这种类型的,就直接放值就可以了,本文讲的是当你查询到的是一个list集合如何遍历取值,否则要写sql和接口...
    99+
    2024-04-02
  • 如何使用Mybatis注解方式完成输入参数为list的SQL语句拼接方式
    这篇文章给大家分享的是有关如何使用Mybatis注解方式完成输入参数为list的SQL语句拼接方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Mybatis注解完成输入参数为list的SQL语句拼接首先将lis...
    99+
    2023-06-21
  • Mybatis Plus使用XML编写动态sql的超简易方法
    目录使用xml编写动态sql动态SQL语句的原理入口类:MybatisSqlSessionFactoryBuilderMybatisMapperAnnotationBuilder动态...
    99+
    2024-04-02
  • Mybatis控制台打印SQL语句的方法
    小编给大家分享一下Mybatis控制台打印SQL语句的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。但是也有一定的问题,当我们动态...
    99+
    2023-06-14
  • sql call语句的使用方法是什么
    这篇文章将为大家详细讲解有关sql call语句的使用方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL CALL 语句的使用方法 SQL CALL 语句用于调用存储过程或函数,它允许程序员执...
    99+
    2024-05-12
    SQLCALL 存储过程 函数 外部函数 最佳实践
  • mybatis中sql语句CDATA标签的用法说明
    sql语句CDATA标签的用法 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在 XML 元素中,"<" 和 ...
    99+
    2024-04-02
  • mybatis中sql语句CDATA标签的用法介绍
    这篇文章主要介绍“mybatis中sql语句CDATA标签的用法介绍”,在日常操作中,相信很多人在mybatis中sql语句CDATA标签的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mybatis...
    99+
    2023-06-20
  • Mybatis注解方式完成输入参数为list的SQL语句拼接方式
    目录Mybatis注解完成输入参数为list的SQL语句拼接拼接查询条件为list集合的sql函数Mybatis注解完成输入参数为list的SQL语句拼接 首先将list集合拼接成一...
    99+
    2024-04-02
  • LINQ to SQL语句的使用方法有哪些
    这篇文章主要介绍“LINQ to SQL语句的使用方法有哪些”,在日常操作中,相信很多人在LINQ to SQL语句的使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ to SQL语句的使...
    99+
    2023-06-17
  • sql中alter语句的使用方法是什么
    在SQL中,ALTER语句用于修改现有数据库表的结构,例如添加,删除或修改列,修改表的名称,以及修改表的约束等。 通用的ALTER语...
    99+
    2024-04-09
    sql
  • MyBatis-plus批量插入的通用方法使用
    目录1. MyBatis-plus 的批量保存方法2. MyBatis-plus 的批量插入方法2.1 通用批量插入方法 InsertBatchSomeColumn2.2 Inser...
    99+
    2023-05-15
    MyBatis-plus 批量插入的通用方法 MyBatis-plus 批量插入
  • navicat使用SQL语句创建视图的方法
    这篇文章主要介绍了navicat使用SQL语句创建视图的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。navicat是一款非常好用的数据...
    99+
    2024-04-02
  • Mybatis的动态SQL语句怎么使用
    这篇文章主要介绍“Mybatis的动态SQL语句怎么使用”,在日常操作中,相信很多人在Mybatis的动态SQL语句怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis的动态SQL语句怎么使用...
    99+
    2023-06-30
  • SpringBoot使用Mybatis&Mybatis-plus文件映射配置方法
    简介: Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司用Mybatis-plus;自己新建了一...
    99+
    2024-04-02
  • mybatis-plus使用sum,count,distinct等函数的方法
    mybatis-plus使用sum,count,distinct等函数的方法 通过mybatis-plus实现以下sql查询 SELECT COUNT(DISTINCT user_name)FROM user_infoWHER...
    99+
    2023-08-16
    mybatis java mysql
  • MyBatis控制台显示SQL语句的方法实现
    一、单独使用MyBatis (1)在mybatis.xml配置文件中添加如下配置 <setting name="logImpl" value="STDOUT_LOGGING...
    99+
    2024-04-02
  • navicat用sql语句创建表的方法
    这篇文章给大家分享的是有关navicat用sql语句创建表的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。选择一个数据库,点击“查询”,在右侧点击“创建查询”,输入SQL语句...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作