首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

IBaseService可以这么设计

2012-10-28 
IBaseService可以这样设计package org.ks4j.orm.hibernateimport java.util.Listimport java.util.Mapi

IBaseService可以这样设计

package org.ks4j.orm.hibernate;import java.util.List;import java.util.Map;import org.ks4j.orm.Compositor;import org.ks4j.orm.Filtration;import org.ks4j.orm.PageData;public interface IBaseService<T> {/** * 新增对象. */public void save(T entity);/** * 修改对象. */public void update(T entity);/** * 删除对象. */public void delete(T entity);/** * 通过id删除对象. */public void delete(String id);/** * 按id获取对象. */public T findById(String id);/** * 按属性查找唯一对象,匹配方式为相等. */public T find(String fieldName, Object fieldValue);/** * 按属性查找对象列表,匹配方式为相等. */public List<T> findList(String fieldName, Object fieldValue);/** * 按照过滤条件对象查找对象列表. */public List<T> findList(Filtration... filtrations);/** * 按照过滤条件对象查找对象列表. */public List<T> findList(List<Filtration> filtrationList);/** * 按照过滤条件对象查找对象列表,支持排序. */public List<T> findList(Compositor compositor, Filtration... filtrations);/** * 按照过滤条件对象查找对象列表,支持排序. */public List<T> findList(Compositor compositor, List<Filtration> filtrationList);/** * 获取全部对象. */public List<T> findAll();/** * 获取全部对象,支持排序. */public List<T> findAll(Compositor compositor);/** * 分页查询. */public PageData<T> find(PageData<T> pageData);/** * 按id列表获取对象. */public List<T> findListByIds(List<String> idList);//--------------------------------------------------------------/** * 按HQL查询唯一对象. * @param hql "from Users where name=? and password=?" * @param values 数量可变的参数,按顺序绑定. * @return */public <X> X find(String hql, Object... values);/** * 按HQL查询唯一对象. * @param hql "from Users where name=:name and password=:password" * @param values 命名参数,按名称绑定. * @return */public <X> X find(String hql, Map<String, ?> values);/** * 按HQL查询对象列表. * @param hql "from Users where name=? and password=?" * @param values 数量可变的参数,按顺序绑定. * @return */public <X> List<X> findList(String hql, Object... values);/** * 按HQL查询对象列表. * @param hql "from Users where name=:name and password=:password" * @param values 命名参数,按名称绑定. * @return  */public <X> List<X> findList(String hql, Map<String, ?> values);/** * 执行HQL进行批量修改/删除操作. * @return 更新记录数. */public int batchExecute(String hql, Object... values);/** * 执行HQL进行批量修改/删除操作. * @return 更新记录数. */public int batchExecute(String hql, Map<String, ?> values);//--------------------------------------------------------------/** * 本地SQL进行修改/删除操作. * @return 更新记录数. */public List find(String sql);}

热点排行