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

com.simple.orm.dao.ConditionBuilder Maven / Gradle / Ivy

package com.simple.orm.dao;

import java.sql.SQLException;

/**
 * 条件构建器
 * 
 * @author haople
 *
 */
public interface ConditionBuilder {

	/**
	 * 设置like属性
	 * 
	 * @param property 属性
	 * @param value    属性值
	 * @return 返回当前的查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder likeProperty(String property, Object value) throws SQLException;

	/**
	 * 设置left like属性
	 * 
	 * @param property 属性
	 * @param value    属性值
	 * @return 返回当前的查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder leftLikeProperty(String property, Object value) throws SQLException;

	/**
	 * 设置right like属性
	 * 
	 * @param property 属性
	 * @param value    属性值
	 * @return 返回当前的查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder rightLikeProperty(String property, Object value) throws SQLException;

	/**
	 * 设置对象属性
	 * 
	 * @param m 对象属性
	 * @return 返回当前的查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder equalEntity(M m) throws SQLException;

	/**
	 * 设置等于属性
	 * 
	 * @param property 属性名
	 * @param value    值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder equalProperty(String property, Object value) throws SQLException;

	/**
	 * 设置大于属性
	 * 
	 * @param property 属性名
	 * @param value    值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder gtProperty(String property, Object value) throws SQLException;

	/**
	 * 设置小于属性
	 * 
	 * @param property 属性名
	 * @param value    值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder ltProperty(String property, Object value) throws SQLException;

	/**
	 * 设置in属性
	 * 
	 * @param property 属性名
	 * @param values    值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder inProperty(String property, Object... values) throws SQLException;

	/**
	 * 设置like 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder likeColumn(String column, Object value) throws SQLException;

	/**
	 * 设置 left like 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder leftLikeColumn(String column, Object value) throws SQLException;

	/**
	 * 设置right like 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder rightLikeColumn(String column, Object value) throws SQLException;

	/**
	 * 设置等于 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder equalColumn(String column, Object value) throws SQLException;

	/**
	 * 设置大于 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder gtColumn(String column, Object value) throws SQLException;

	/**
	 * 设置小于 列名
	 * 
	 * @param column 列名
	 * @param value  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder ltColumn(String column, Object value) throws SQLException;

	/**
	 * 设置in 列名
	 * 
	 * @param column 列名
	 * @param values  值
	 * @return 返回当前查询器
	 * @throws SQLException 抛出数据库异常
	 */
	ConditionBuilder inColumn(String column, Object... values) throws SQLException;
	
	/**
	 * 生成条件语句
	 * @return 生成基于条件的sql
	 */
	String bulidConditionSql();

	/**
	 * 获取条件的值
	 * @return 条件的值集合
	 */
	Object[] getConditionvValues();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy