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

com.simple.orm.service.BaseService Maven / Gradle / Ivy

package com.simple.orm.service;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;

import com.simple.orm.domain.Page;
import com.simple.orm.domain.Pageable;


public interface BaseService {

	/**
	 * 根据主键属性查询一条数据
	 * 
	 * @param id 主键的值
	 * @return 返回数据表的映射对象
	 * @throws SQLException 抛出数据库异常
	 */
	M find(Serializable id) throws SQLException;

	/**
	 * 根据属性值查询一条数据
	 * 
	 * @param property 属性名称
	 * @param value    对应的属性值
	 * @return 返回数据表的映射对象
	 * @throws SQLException 抛出数据库异常
	 */
	M find(String property, Object value) throws SQLException;

	/**
	 * 根据属性值查询
	 * 
	 * @param property 属性名称
	 * @param value    对应的属性值
	 * @return 返回数据表的映射对象列表
	 * @throws SQLException 抛出数据库异常
	 */
	List query(String property, Object value) throws SQLException;

	/**
	 * 根据条件分页查询
	 * 
	 * @param property 属性名称
	 * @param value    对应的属性值
	 * @param pageable 分页对象
	 * @return 分页后的数据对象
	 * @throws SQLException 抛出数据库异常
	 */
	Page query(String property, Object value, Pageable pageable) throws SQLException;

	/**
	 * 查询所有
	 * 
	 * @return 返回数据表的映射对象列表
	 * @throws SQLException 抛出数据库异常
	 */
	List query() throws SQLException;

	/**
	 * 查询所有分页
	 * 
	 * @param pageable 分页对象
	 * @return 分页后的数据对象
	 * @throws SQLException 抛出数据库异常
	 */
	Page query(Pageable pageable) throws SQLException;

	/**
	 * 根据映射的对象设置的属性和值分页查询
	 * 
	 * @param m        映射的对象
	 * @param pageable 分页对象
	 * @return 分页后的数据对象
	 * @throws SQLException 抛出数据库异常
	 */
	Page query(M m, Pageable pageable) throws SQLException;

	/**
	 * 根据对象设置的属性查询
	 * 
	 * @param m 映射的对象
	 * @return 返回数据表的映射对象列表
	 * @throws SQLException 抛出数据库异常
	 */
	List query(M m) throws SQLException;

	/**
	 * 模拟持久化,有主键值调用更新操作,没有主键值 调用添加操作
	 * 
	 * @param m 映射的对象
	 * @return 返回数据表的映射对象
	 * @throws SQLException 抛出数据库异常
	 */
	M save(M m) throws SQLException;

	/**
	 * 根据映射对象设置的属性条件统计数量
	 * 
	 * @param m 映射的对象
	 * @return 返回数字
	 * @throws SQLException 抛出数据库异常
	 */
	Long count(M m) throws SQLException;

	/**
	 * 根据属性名称和值统计数量
	 * 
	 * @param property 属性名称
	 * @param value    属性值
	 * @return 返回数字
	 * @throws SQLException 抛出数据库异常
	 */
	Long count(String property, Object value) throws SQLException;

	/**
	 * 统计表中的数量
	 * 
	 * @return 返回数字
	 * @throws SQLException 抛出数据库异常
	 */
	Long count() throws SQLException;

	/**
	 * 根据M主键值更新其他属性
	 * 
	 * @param m 映射的对象
	 * @return 返回当前的映射对象
	 * @throws SQLException 抛出数据库异常
	 */
	M update(M m) throws SQLException;

	/**
	 * 根据主键Id删除
	 * 
	 * @param id 主键的值
	 * @return 返回影响的行数
	 * @throws SQLException 抛出数据库异常
	 */
	Integer deleteById(Serializable id) throws SQLException;

	/**
	 * 根据M实例的对象属性删除
	 * 
	 * @param m 映射的对象
	 * @return 返回影响的行数
	 * @throws SQLException 抛出数据库异常
	 */
	Integer delete(M m) throws SQLException;
		 
	 
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy