Class Condition

java.lang.Object
org.miaixz.bus.mapper.entity.Condition
All Implemented Interfaces:
TableNames
Direct Known Subclasses:
Weekend

public class Condition extends Object implements TableNames
通用的Condition查询对象
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

    • orderByClause

      protected String orderByClause
    • distinct

      protected boolean distinct
    • exists

      protected boolean exists
    • notNull

      protected boolean notNull
    • forUpdate

      protected boolean forUpdate
    • selectColumns

      protected Set<String> selectColumns
      查询字段
    • excludeColumns

      protected Set<String> excludeColumns
      排除的查询字段
    • countColumn

      protected String countColumn
    • oredCriteria

      protected List<Condition.Criteria> oredCriteria
    • entityClass

      protected Class<?> entityClass
    • table

      protected EntityTable table
    • propertyMap

      protected Map<String,EntityColumn> propertyMap
      属性和列对应
    • tableName

      protected String tableName
      动态表名
    • ORDERBY

      protected Condition.OrderBy ORDERBY
  • Constructor Details

    • Condition

      public Condition(Class<?> entityClass)
      默认exists为true
      Parameters:
      entityClass - 实体Class对象
    • Condition

      public Condition(Class<?> entityClass, boolean exists)
      带exists参数的构造方法,默认notNull为false,允许为空
      Parameters:
      entityClass - 实体Class对象
      exists - - true时,如果字段不存在就抛出异常,false时,如果不存在就不使用该字段的条件
    • Condition

      public Condition(Class<?> entityClass, boolean exists, boolean notNull)
      带exists参数的构造方法
      Parameters:
      entityClass - 实体Class对象
      exists - - true时,如果字段不存在就抛出异常,false时,如果不存在就不使用该字段的条件
      notNull - - true时,如果值为空,就会抛出异常,false时,如果为空就不使用该字段的条件
  • Method Details

    • builder

      public static Condition.Builder builder(Class<?> entityClass)
    • orderBy

      public Condition.OrderBy orderBy(String property)
    • excludeProperties

      public Condition excludeProperties(String... properties)
      排除查询字段,优先级低于 selectProperties
      Parameters:
      properties - 属性名的可变参数
      Returns:
      the object
    • selectProperties

      public Condition selectProperties(String... properties)
      指定要查询的属性列 - 这里会自动映射到表字段
      Parameters:
      properties - 属性
      Returns:
      the object
    • or

      public void or(Condition.Criteria criteria)
    • or

      public Condition.Criteria or()
    • and

      public void and(Condition.Criteria criteria)
    • and

      public Condition.Criteria and()
    • createCriteria

      public Condition.Criteria createCriteria()
    • createCriteriaInternal

      protected Condition.Criteria createCriteriaInternal()
    • clear

      public void clear()
    • getPropertyMap

      public Map<String,EntityColumn> getPropertyMap()
    • getCountColumn

      public String getCountColumn()
    • getDynamicTableName

      public String getDynamicTableName()
      Description copied from interface: TableNames
      获取动态表名 - 只要有返回值,不是null和'',就会用返回值作为表名
      Specified by:
      getDynamicTableName in interface TableNames
      Returns:
      the string
    • getEntityClass

      public Class<?> getEntityClass()
    • getOrderByClause

      public String getOrderByClause()
    • setOrderByClause

      public void setOrderByClause(String orderByClause)
    • getOredCriteria

      public List<Condition.Criteria> getOredCriteria()
    • getSelectColumns

      public Set<String> getSelectColumns()
    • isDistinct

      public boolean isDistinct()
    • setDistinct

      public void setDistinct(boolean distinct)
    • isForUpdate

      public boolean isForUpdate()
    • setForUpdate

      public void setForUpdate(boolean forUpdate)
    • setCountProperty

      public void setCountProperty(String property)
      指定 count(property) 查询属性
      Parameters:
      property - 属性
    • setTableName

      public void setTableName(String tableName)
      设置表名
      Parameters:
      tableName - 表名