zoukankan      html  css  js  c++  java
  • mybatis plus条件构造器

    实体包装器,用于处理 sql 拼接,排序,实体参数查询

    进行详细拼接解析:

    拼接 sql 方式 一
    @Test
    public void testTSQL11() {
    /*
    * 实体带查询使用方法 输出看结果
    */
    EntityWrapper<User> ew = new EntityWrapper<User>();
    ew.setEntity(new User(1));
    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");
    System.out.println(ew.getSqlSegment());
    }

    拼接 sql 方式 二

    int buyCount = selectCount(Condition.create()
    .setSqlSelect("sum(quantity)")
    .isNull("order_id")
    .eq("user_id", 1)
    .eq("type", 1)
    .in("status", new Integer[]{0, 1})
    .eq("product_id", 1)
    .between("created_time", startDate, currentDate)
    .eq("weal", 1));

    自定义 SQL 方法如何使用 Wrapper

    mapper java 接口方法

    List<User> selectMyPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper);
    mapper xml 定义
    <select id="selectMyPage" resultType="User">
    SELECT * FROM user
    <where>
    ${ew.sqlSegment}
    </where>
    </select>


    常用词解释:
    where WHERE 语句,拼接 + WHERE 条件
    and AND 语句,拼接 + AND 字段=值
    andNew AND 语句,拼接 + AND (字段=值) (新的括号)
    or OR 语句,拼接 + OR 字段=值
    orNew OR 语句,拼接 + OR (字段=值)
    eq 等于=
    allEq 基于 map 内容等于=
    ne 不等于<>
    gt 大于>
    ge 大于等于>=
    lt 小于<
    le 小于等于<=
    like 模糊查询 LIKE
    notLike 模糊查询 NOT LIKE
    in IN 查询
    notIn NOT IN 查询
    isNull NULL 值查询
    isNotNull IS NOT NULL
    groupBy 分组 GROUP BY
    having HAVING 关键词
    orderBy 排序 ORDER BY
    orderAsc ASC 排序 ORDER BY
    orderDesc DESC 排序 ORDER BY
    exists EXISTS 条件语句
    notExists NOT EXISTS 条件语句
    between BETWEEN 条件语句
    notBetween NOT BETWEEN 条件语句
    addFilter 自由拼接 SQL
    last 拼接在最后,例如:last("LIMIT 1")


  • 相关阅读:
    http 请求中 缓存 的使用
    charles 中advance repeat(并发请求)
    charles 中 breakingpoint setting 、breakpoints(断点设置打断点)
    (剑指offer) 用两个栈来实现一个队列
    ios系统在h5页面下拉上拉会带动整个webview 出现空白
    (剑指offer)从尾到头打印链表js
    二维数组中的查找
    导航栏吸顶效果
    js归并排序的实现
    vue项目切换不同的tabbar显示不同的内容
  • 原文地址:https://www.cnblogs.com/yuansai/p/10108050.html
Copyright © 2011-2022 走看看