Class OrderBy

java.lang.Object
tech.riemann.nif.nutz.dao.cnd.OrderBy

public class OrderBy extends Object
排序构建器类,用于构造数据库查询中的排序条件。
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    表示单个排序项的数据结构。
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    asc(String name)
    添加一个升序(ASC)排序字段。
    <T> OrderBy
    asc(org.nutz.dao.util.lambda.PFun<T,?> name)
    使用Lambda表达式添加一个升序(ASC)排序属性。
    desc(String name)
    添加一个降序(DESC)排序字段。
    <T> OrderBy
    desc(org.nutz.dao.util.lambda.PFun<T,?> name)
    使用Lambda表达式添加一个降序(DESC)排序属性。
    获取当前所有排序项列表。
    static OrderBy
    创建一个新的OrderBy实例。
    org.nutz.dao.Condition
    mix(@NotNull org.nutz.dao.Cnd cnd)
    将当前排序信息混入到已有的Cnd条件中。
    org.nutz.dao.Condition
    mix(@NotNull org.nutz.dao.Cnd cnd, String key, String... fields)
    在给定的Cnd基础上增加LIKE搜索条件,并将当前排序信息混入其中。
    orderBy(String name, String dir)
    根据指定方向添加排序字段。
    <T> OrderBy
    orderBy(org.nutz.dao.util.lambda.PFun<T,?> name, String dir)
    使用Lambda表达式根据指定方向添加排序属性。

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OrderBy

      public OrderBy()
  • Method Details

    • instance

      public static OrderBy instance()
      创建一个新的OrderBy实例。
      Returns:
      新的OrderBy实例
    • asc

      public OrderBy asc(String name)
      添加一个升序(ASC)排序字段。
      Parameters:
      name - 字段名称
      Returns:
      当前OrderBy对象,支持链式调用
    • asc

      public <T> OrderBy asc(org.nutz.dao.util.lambda.PFun<T,?> name)
      使用Lambda表达式添加一个升序(ASC)排序属性。
      Type Parameters:
      T - 实体类型
      Parameters:
      name - 属性引用
      Returns:
      当前OrderBy对象,支持链式调用
    • desc

      public OrderBy desc(String name)
      添加一个降序(DESC)排序字段。
      Parameters:
      name - 字段名称
      Returns:
      当前OrderBy对象,支持链式调用
    • desc

      public <T> OrderBy desc(org.nutz.dao.util.lambda.PFun<T,?> name)
      使用Lambda表达式添加一个降序(DESC)排序属性。
      Type Parameters:
      T - 实体类型
      Parameters:
      name - 属性引用
      Returns:
      当前OrderBy对象,支持链式调用
    • getItems

      protected List<OrderBy.OrderByItem> getItems()
      获取当前所有排序项列表。
      Returns:
      排序列列表
    • orderBy

      public OrderBy orderBy(String name, String dir)
      根据指定方向添加排序字段。

      M43: 方向仅接受 asc/desc,其他值抛 IllegalArgumentException(原实现静默降级为 DESC); name 直入 ORDER BY,调用方务必使用白名单/常量列名,勿拼接用户输入(字段名注入面)

      Parameters:
      name - 字段名称
      dir - 排序方向("asc" 或 "desc")
      Returns:
      当前OrderBy对象,支持链式调用
    • orderBy

      public <T> OrderBy orderBy(org.nutz.dao.util.lambda.PFun<T,?> name, String dir)
      使用Lambda表达式根据指定方向添加排序属性。
      Type Parameters:
      T - 实体类型
      Parameters:
      name - 属性引用
      dir - 排序方向("asc" 或 "desc")
      Returns:
      当前OrderBy对象,支持链式调用
    • mix

      public org.nutz.dao.Condition mix(@NotNull @NotNull org.nutz.dao.Cnd cnd)
      将当前排序信息混入到已有的Cnd条件中。
      Parameters:
      cnd - 查询条件对象
      Returns:
      包含排序信息的新查询条件
    • mix

      public org.nutz.dao.Condition mix(@NotNull @NotNull org.nutz.dao.Cnd cnd, String key, String... fields)
      在给定的Cnd基础上增加LIKE搜索条件,并将当前排序信息混入其中。
      Parameters:
      cnd - 查询条件对象
      key - 搜索关键字
      fields - 需要进行模糊匹配的字段数组
      Returns:
      包含LIKE搜索与排序信息的新查询条件