您的位置:首页 > 其它

SSH与SSM学习之SSH实现CRM练习03——客户列表03_CustomerDao

2017-12-01 00:47 417 查看
SSH与SSM学习之SSH实现CRM练习03客户列表03_CustomerDao
一CustomerDao
1 CustomerDao

2 CustomerDaoImpl

二Spring配置中添加CustomerDao的配置

三源码下载

SSH与SSM学习之SSH实现CRM练习03——客户列表03_CustomerDao

一、CustomerDao

根据前面的分析,我们需要提供两个方法,如下

1.1 CustomerDao

package com.qwm.ssh_crm.dao;

import com.qwm.ssh_crm.domain.Customer;
import org.hibernate.criterion.DetachedCriteria;

import java.util.List;

/**
* @author:qiwenming
* @date:2017/11/5 0005   0:53
* @description:
*/
public interface CustomerDao {
//查询总记录数
Integer getTotalCount(DetachedCriteria dc);
//查询分页数据
List<Customer> getPageList(DetachedCriteria dc, int start, Integer pageSize);
}


1.2 CustomerDaoImpl

package com.qwm.ssh_crm.dao.impl;

import com.qwm.ssh_crm.dao.CustomerDao;
import com.qwm.ssh_crm.domain.Customer;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Projections;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import java.util.List;

/**
* @author:qiwenming
* @date:2017/11/5 0005   0:55
* @description:
*/
public class CustomerDaoImpl extends HibernateDaoSupport implements CustomerDao {
@Override
public Integer getTotalCount(DetachedCriteria dc) {
//1.设置查询条件
//2.查询
//3.清空设置的聚合函数
//4.判断返回
dc.setProjection(Projections.rowCount());
List<Long> list = (List<Long>)getHibernateTemplate().findByCriteria(dc);
dc.setProjection(null);
if(list!=null && list.size()>0){
return list.get(0).intValue();
}
return null;
}

@Override
public List<Customer> getPageList(DetachedCriteria dc, int start, Integer pageSize) {
List<Customer> list = (List<Customer>) getHibernateTemplate().findByCriteria(dc,start,pageSize);
return list;
}
}


二、Spring配置中添加CustomerDao的配置

书写好上面的Dao以后,在 Spring的配置文件中如下添加配置

<bean name="customerDao" class="com.qwm.ssh_crm.dao.impl.CustomerDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>


三、源码下载

https://github.com/wimingxxx/ssh_crm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: