iservice封装有哪些方法_ssh框架封装Action,Service,Dao基本方法和实现具体的方法

封装action 基本方法

package com.lyzyxy.jxjy.core.action;

import com.lyzyxy.jxjy.core.utils.ReturnByPage;

import com.opensymphony.xwork2.ActionSupport;

/**

* Created by ITGG on 2016/11/14.

*/

public abstract class BaseAction extends ActionSupport {

private String order;

private int limit;

private int offset;

protected String key;

protected ReturnByPage returnByPage;

public String getOrder() {

return order;

}

public void setOrder(String order) {

this.order = order;

}

public int getLimit() {

return limit;

}

public void setLimit(int limit) {

this.limit = limit;

}

public int getOffset() {

return offset;

}

public void setOffset(int offset) {

this.offset = offset;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

public ReturnByPage getReturnByPage() {

return returnByPage;

}

public void setReturnByPage(ReturnByPage returnByPage) {

this.returnByPage = returnByPage;

}

}

封装Service基本方法

package com.lyzyxy.jxjy.core.service;

import com.lyzyxy.jxjy.admin.entity.Role;

import com.lyzyxy.jxjy.core.utils.QueryHelper;

import com.lyzyxy.jxjy.core.utils.ReturnByPage;

import java.io.Serializable;

import java.util.List;

/**

* Created by ITGG 2016/11/11.

*/

public interface BaseService {

//增

public int save(T entity) throws Exception;

//删

public void delete(Serializable id);

//改

public void update(T entity);

// 查

public T find(Serializable id);

public List findAll();

public ReturnByPage findByQuery(QueryHelper queryHelper);

//统计

public Long count(QueryHelper queryHelper);

}

封装Dao基本方法

实现Service方法

import com.lyzyxy.jxjy.core.service.BaseService;

import com.lyzyxy.jxjy.core.utils.QueryHelper;

import com.lyzyxy.jxjy.core.utils.ReturnByPage;

import java.io.Serializable;

import java.util.List;

/**

* Created by ITGG on 2016/11/14.

*/

public class BaseServiceimpl implements BaseService {

//注入Dao

private BaseDao baseDao;

public void setBaseDao(BaseDao baseDao){

this.baseDao = baseDao;

}

@Override

public int save(T entity) throws Exception {

int a=0;

a=baseDao.save(entity);

return a;

}

@Override

public void delete(Serializable id) {

baseDao.delete(id);

}

@Override

public void update(T entity) {

baseDao.update(entity);

}

@Override

public T find(Serializable id) {

return (T) baseDao.find(id);

}

@Override

public List findAll() {

return baseDao.findAll();

}

public ReturnByPage findByQuery(QueryHelper queryHelper){

return baseDao.findByQuery(queryHelper);

}

@Override

public Long count(QueryHelper queryHelper) {

return baseDao.count(queryHelper);

}

}

实现Dao的方法

import org.hibernate.Query;

import org.springframework.orm.hibernate4.support.HibernateDaoSupport;

import java.io.Serializable;

import java.lang.reflect.ParameterizedType;

import java.util.List;

/**

* Created by ITGG on 2016/11/9.

*/

public abstract class BaseDaoImpl extends HibernateDaoSupport implements BaseDao {

Class clazz;

public BaseDaoImpl(){

//找到了T的类名称

ParameterizedType parameterizedType = (ParameterizedType) this.getClass().getGenericSuperclass();//BaseDao

clazz = (Class) parameterizedType.getActualTypeArguments()[0];

}

@Override

public int save(T entity) {

return (int) getHibernateTemplate().save(entity);

}

@Override

public void delete(Serializable id) {

T entity= find(id);

getHibernateTemplate().delete(entity);

}

@Override

public void update(T entity) {

getHibernateTemplate().update(entity);

}

@Override

public T find(Serializable id) {

return (T) getSessionFactory().getCurrentSession().get(clazz,id);

}

@Override

public List findAll() {

String hql = "from "+ clazz.getSimpleName();

Query query = getSessionFactory().openSession().createQuery(hql);

List list = query.list();

return list;

}

@Override

public ReturnByPage findByQuery(QueryHelper queryHelper) {

Query query = getSessionFactory().openSession().createQuery(queryHelper.getDateHql());

List list1 = queryHelper.getParams();

for(int i = 0;i

query.setParameter(i,list1.get(i));

}

query.setFirstResult(queryHelper.getOffset());

query.setMaxResults(queryHelper.getLimit());

List list = query.list();

queryHelper.returnByPage.setRows(list);

queryHelper.returnByPage.setTotal(count(queryHelper));

return queryHelper.returnByPage;

}

//统计

public Long count(QueryHelper queryHelper){

Query query = getSessionFactory().openSession().createQuery(queryHelper.getCountHq());

List list1 = queryHelper.getParams();

for(int i = 0;i

query.setParameter(i,list1.get(i));

}

Long count = (Long) query.uniqueResult();

return count;

}

}

分享一下所学的知识 QQ:89087014 邮箱it116633@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值