All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mybatis.pj.util.ExampleOGNL Maven / Gradle / Ivy

There is a newer version: 2.2.1
Show newest version
package com.mybatis.pj.util;


import java.util.List;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.mybatis.pj.constant.ExampleConstants;
import com.mybatis.pj.example.BaseExample;
import com.mybatis.pj.example.select.SelectBaseExample;
import com.mybatis.pj.example.select.multipart.MultipartSelectExample;
import com.mybatis.pj.example.update.UpdateBaseExample;

public class ExampleOGNL {
	static Logger logger = LoggerFactory.getLogger(ExampleOGNL.class);
	
	/**
	 * 判断是否含有更新字段
	 * @param parameter  传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useUpdateField(Object parameter) {
		if(parameter != null && parameter instanceof UpdateBaseExample) {
			UpdateBaseExample ube = (UpdateBaseExample)parameter;
			List updateFields = ube.getUpdateFields();
			if(updateFields != null && updateFields.size() !=0) {
				return true;
			}
		}
		return false;
	}
	
	
	/**
	 * 判断是否使用多功能查询和左连接查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useMultipartAndLeftJoin(Object parameter) {
		if(parameter != null && parameter instanceof MultipartSelectExample) {
			MultipartSelectExample mse = (MultipartSelectExample) parameter;
			if(mse.isLeftJoinFlag()) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 判断是否使用别名
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useAlias(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List tableAlias = sbe.getTableAlias();
			if(tableAlias != null && tableAlias.size()>0) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 使用了where查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			if(sbe.getEqualsWhereKey() != null || sbe.getGreaterThanWhereKey() != null || sbe.getLessThanWhereKey() != null || sbe.getNotEqualsWhereKey() != null) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 没有使用where查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean notUseWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			if(sbe.getEqualsWhereKey() == null && sbe.getGreaterThanWhereKey() == null && sbe.getLessThanWhereKey() == null && sbe.getNotEqualsWhereKey() == null) {
				return true;
			}
		}
		return false;
	}
	
	
	/**
	 * 是否使用了大于,小于或者不等于查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useGreaterAndLess(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List greaterThan = sbe.getGreaterThanWhereKey();
			List lessThanWhere = sbe.getLessThanWhereKey();
			List notEqualsWhere = sbe.getNotEqualsWhereKey();
			if((greaterThan != null &&greaterThan.size() >0) ||(lessThanWhere != null &&lessThanWhere.size() >0) || (notEqualsWhere != null && notEqualsWhere.size()>0)) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了小于或者不等于查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useLessAndNotEquals(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List lessThanWhere = sbe.getLessThanWhereKey();
			List notEqualsWhere = sbe.getNotEqualsWhereKey();
			if((lessThanWhere != null &&lessThanWhere.size() >0) || (notEqualsWhere != null && notEqualsWhere.size()>0)) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了等号查询
	 * @param parameter 传入对象(BaseExample的子类)
	 *  @return  boolean
	 */
	public static boolean useEqualsWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List equalsWhere = sbe.getEqualsWhereKey();
			if(equalsWhere != null && equalsWhere.size() >0) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了大于查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useGreaterThanWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List greaterThan = sbe.getGreaterThanWhereKey();
			if((greaterThan != null &&greaterThan.size() >0)  ) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了小于查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */ 
	public static boolean useLessThanWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List lessThanWhere = sbe.getLessThanWhereKey();
			if(lessThanWhere != null && lessThanWhere.size() >0) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了不等于查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */ 
	public static boolean useNotEqualsWhere(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List notEqualsWhere = sbe.getNotEqualsWhereKey();
			if(notEqualsWhere != null && notEqualsWhere.size() >0) {
				return true;
			}
		}
		return false;
	}

	/**
	 * 使用了in查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useIn(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List inFields = sbe.getInFields();
			if(inFields != null && inFields.size() >0) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 使用了like查询
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useLike(Object parameter) {
		if(parameter != null) {
			BaseExample sbe = (BaseExample)parameter;
			List likeFields = sbe.getLikeFields();
			if(likeFields != null && likeFields.size() >0) {
				return true;
			}
		}
		return false;
	}
	
	
	/**
	 * 是否使用了分组
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useGroupBy(Object parameter) {
		if(parameter != null) {
			SelectBaseExample sbe = (SelectBaseExample)parameter;
			String groupByField = sbe.getGroupBy();
			if(groupByField !=null && groupByField.length()>0) {
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 是否使用了排序
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean useOrderBy(Object parameter) {
		if(parameter != null) {
			SelectBaseExample sbe = (SelectBaseExample)parameter;
			Map orderBy = sbe.getOrder();
			if(orderBy != null && orderBy.size() >0) {
				return true;
			}
		}
		return false;
	}
	/**
	 * 是否是desc排序
	 * @param parameter 传入对象(BaseExample的子类)
	 * @return  boolean
	 */
	public static boolean orderByDesc(String key,Object parameter) {
		if(parameter != null) {
			SelectBaseExample sbe = (SelectBaseExample)parameter;
			Map orderBy = sbe.getOrder();
			if(ExampleConstants.ORDER_BY_DESC.equals(orderBy.get(key))) {
				return true;
			}
		}
		return false;
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy