Files
timi-spring/src/main/java/com/imyeyu/spring/bean/Page.java
T
Timi a4a9317731
CI/CD / build-deploy (pull_request) Successful in 13s
v0.0.19
2026-08-11 23:59:02 +08:00

51 lines
1.2 KiB
Java

package com.imyeyu.spring.bean;
import com.imyeyu.java.TimiJava;
import com.imyeyu.java.bean.BasePage;
import com.imyeyu.spring.mapper.BaseMapper;
import com.imyeyu.utils.Text;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.LinkedHashMap;
/**
* 抽象页面查询参数
*
* @param <T> 查询示例类型
* @author 夜雨
* @version 2023-06-02 14:47
*/
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class Page<T> extends BasePage {
/** 精确匹配示例 */
protected T equalsExample;
/** 模糊匹配示例 */
protected T likesExample;
/** 精确匹配连接逻辑 */
protected Logic equalsLogic = Logic.AND;
/** 模糊匹配连接逻辑 */
protected Logic likesLogic = Logic.OR;
/** 排序字段映射 */
protected LinkedHashMap<String, BaseMapper.OrderType> orderMap;
/**
* 添加排序字段
*
* @param field 字段名
* @param orderType 排序方式
*/
public void addOrder(String field, BaseMapper.OrderType orderType) {
orderMap = TimiJava.defaultIfNull(orderMap, new LinkedHashMap<>());
orderMap.put(Text.camelCase2underscore(field), orderType);
}
}