`

[存个档]SSH BaseService

 
阅读更多

本文来自 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之类的这些也就不用写了...

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics