
top.lingkang.mm.orm.Query Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mybatis-magic Show documentation
Show all versions of mybatis-magic Show documentation
mybatis能力扩展框架,兼顾mybatis的mapper.xml编写操作数据库。
package top.lingkang.mm.orm;
import cn.hutool.core.lang.Assert;
import top.lingkang.mm.error.MagicException;
import java.util.*;
/**
* @author lingkang
* @create by 2024/3/12 16:13
*/
public class Query {
protected List list = new ArrayList<>();
protected List orderBy;
protected String sql = "where 1=1";
protected HashMap param = new HashMap<>();
public Query eq(String column, Object value) {
list.add(new ConditionValue(Condition.eq, column, value));
return this;
}
public Query ne(String column, Object value) {
list.add(new ConditionValue(Condition.ne, column, value));
return this;
}
public Query gt(String column, Object value) {
list.add(new ConditionValue(Condition.gt, column, value));
return this;
}
public Query ge(String column, Object value) {
list.add(new ConditionValue(Condition.ge, column, value));
return this;
}
public Query lt(String column, Object value) {
list.add(new ConditionValue(Condition.lt, column, value));
return this;
}
public Query le(String column, Object value) {
list.add(new ConditionValue(Condition.le, column, value));
return this;
}
public Query like(String column, Object value) {
list.add(new ConditionValue(Condition.like, column, value));
return this;
}
public Query notLike(String column, Object value) {
list.add(new ConditionValue(Condition.notLike, column, value));
return this;
}
public Query likeLeft(String column, Object value) {
list.add(new ConditionValue(Condition.likeLeft, column, value));
return this;
}
public Query likeRight(String column, Object value) {
list.add(new ConditionValue(Condition.likeRight, column, value));
return this;
}
public Query notLikeLeft(String column, Object value) {
list.add(new ConditionValue(Condition.notLikeLeft, column, value));
return this;
}
public Query notLikeRight(String column, Object value) {
list.add(new ConditionValue(Condition.notLikeRight, column, value));
return this;
}
public Query isNull(String column, Object value) {
list.add(new ConditionValue(Condition.isNull, column, value));
return this;
}
public Query isNotNull(String column, Object value) {
list.add(new ConditionValue(Condition.isNotNull, column, value));
return this;
}
public Query in(String column, Collection value) {
list.add(new ConditionValue(Condition.in, column, value));
return this;
}
public Query notIn(String column, Collection value) {
list.add(new ConditionValue(Condition.notIn, column, value));
return this;
}
public Query orderByAsc(String... ascColumn) {
Assert.notNull(ascColumn, "排序的列不能为空");
if (orderBy == null)
orderBy = new ArrayList<>();
orderBy.add(new ConditionOrderBy(Condition.orderByAsc, ascColumn));
return this;
}
public Query orderByDesc(String... descColumn) {
Assert.notNull(descColumn, "排序的列不能为空");
if (orderBy == null)
orderBy = new ArrayList<>();
orderBy.add(new ConditionOrderBy(Condition.orderByDesc, descColumn));
return this;
}
public Query or() {
list.add(new ConditionValue(Condition.or));
return this;
}
public Query sql(String sql) {
list.add(new ConditionValue(Condition.sql, sql, null));
return this;
}
public Query sql(String sql, Map param) {
list.add(new ConditionValue(Condition.sql, sql, param));
return this;
}
public String buildSql() {
StringBuilder sql = new StringBuilder();
// List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy