本文来自 fair-jm.iteye.com 转截请注明出处
单纯记录一下 以后方便直接拿来用 :
package com.cc.crm.service; import java.util.List; import java.util.Map; import com.cc.crm.common.PageModel; public interface BaseService<T> { /** * 查询,不帶分页 * select * from user u where u.username=? */ public List<T> getList(String hql); public List<T> getList(String hql,Object[] values); /** * 查询,带分页的 */ public PageModel<T> getPageModel(String hql,int page,int limit); public PageModel<T> getPageModel(String hql,Object[] values,int page,int limit); /** * 别名查询 * select * from user where id in (:id) */ public List<T> getList(String hql, Map<String, Object> alias); //既有别名又有?占位符 public List<T> getList(String hql, Object[] values, Map<String,Object> alias); public PageModel<T> getPageModel(String hql,Map<String,Object> alias,int page ,int limit); public PageModel<T> getPageModel(String hql,Object[] values,Map<String,Object> alias,int page,int limit); /** * 单个查询 */ public T getObject(String hql); public T getObject(Class<T> clazz,int id); public T getObject(String hql,Object[] values); /** * 插入 */ public void add(T t); /** * 修改 */ public void update(T t); public void update(String hql); public void update(String hql,Object[] values); /** * 删除 */ public void delete(T t); public void delete(String hql); public void delete(String hql,Object[] values); }
原则:实现参数最全的方法 其他的重载方法直接调用参数最多的
PageModel:
package com.cc.crm.common; import java.util.List; public class PageModel<T> { private int total; private List<T> list; public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } }
实现就不放了 针对SSH 当然用了spring JPA之类的这些也就不用写了...