本文来自 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之类的这些也就不用写了...
本文介绍了一个通用的CRUD服务接口设计,包括查询、分页、插入、更新和删除等核心操作,并提供了详细的接口说明及PageModel类的定义。

4977

被折叠的 条评论
为什么被折叠?



