首页>代码>jsp hibernate开发实现电子通讯录后台管理系统源代码下载>/电子通讯录/03/src/com/lh/dao/PersonTypeDao.java
package com.lh.dao;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.lh.model.PersonType;
/**
 * 管理联系人类别的DAO类
 * @author LH
 */
public class PersonTypeDao {
	private static PersonTypeDao instance=null;
	/**
	 * 静态方法,返回一个PersonTypeDao实例
	 * @return
	 */
	public static PersonTypeDao getInstance(){
		if(instance==null){
			instance = new PersonTypeDao();
		}
		return instance;
	}
	/**
	 * 根据id查询类别对象
	 * @param id 类别编号
	 * @return
	 */
	public PersonType selectPersonTypeById(String id){
		PersonType type = null;
		Session session = null;
		try{
			session = SessionFactoryProvider.getSession();
			Query query=session.createQuery("from PersonType where typeId=:id");
			query.setString("id", id);
			if(query.list()!=null&&query.list().size()>0){
				type=(PersonType)query.list().get(0);
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			session.close();
		}
		return type;
	}
	/**
	 * 保存或更新类别对象
	 * @param type 类别对象
	 * @return 成功true,失败false
	 */

public boolean saveOrUpdateType(PersonType type){
	boolean result=false;
	Session session=null;
	Transaction trans = null;
	try{
		session=SessionFactoryProvider.getSession();//创建Session对象
		trans=session.beginTransaction();			//创建事务
		trans.begin();								//开始事务
		session.saveOrUpdate(type);					//保存或更新对象
		trans.commit();								//提交事务
		result=true;
	}catch(Exception ex){
		if(trans!=null&&trans.isActive()){
			trans.rollback();						//出现异常,事务回滚
		}
		ex.printStackTrace();
	}finally{
		session.close();
	}
	return result;
}
	/**
	 * 删除类别
	 * @param type
	 * @return
	 */
	public boolean deleteType(PersonType type){
		boolean result=false;
		Session session=null;
		Transaction trans=null;
		try{
			session=SessionFactoryProvider.getSession();
			trans=session.beginTransaction();
			trans.begin();
			session.delete(type);
			trans.commit();
			result=true;
		}catch(Exception ex){
			if(trans!=null&&trans.isActive()){
				trans.rollback();
			}
			ex.printStackTrace();
		}finally{
			session.close();
		}
		return result;
	}
	/**
	 * 查询类别信息,返回一个类别对象集合
	 * @return
	 */
	public List<PersonType> getType(){
		List<PersonType> list = null;
		Session session=null;
		try{
			session = SessionFactoryProvider.getSession();
			Query query=session.createQuery("From PersonType");
			list=query.list();
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			session.close();
		}
		return list;
	}
	/**
	 * 查询类别信息,返回类别信息总数
	 * @return
	 */
	public int getTypeCount(){
		int count = 0;
		Session session=null;
		try{
			session = SessionFactoryProvider.getSession();
			Query query=session.createQuery("select count(id) from PersonType");
			if(query.list()!=null&&query.list().size()>0){
				count = Integer.parseInt(query.list().get(0).toString());
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			session.close();
		}
		return count;
	}
	/**
	 * 分页查询类别信息
	 * @param first:查询的起始位置
	 * @param maxResult:每页查询的最多条数
	 * @return List:类别对象集合
	 */
	public List<PersonType> getTypePage(int first,int maxResult){
		List<PersonType> list = null;
		Session session=null;
		try{
			session = SessionFactoryProvider.getSession();
			Query query=session.createQuery("From PersonType");
			query.setFirstResult(first);
			query.setMaxResults(maxResult);
			list = query.list();
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			session.close();
		}
		return list;
	}
}
最近下载更多
过过成功尺寸  LV7 2021年12月22日
kiritoYCQ  LV5 2020年11月28日
dyihui  LV12 2020年11月19日
霖望1234  LV2 2020年7月18日
本机号码  LV2 2020年7月6日
秘制酒心巧克力  LV6 2020年6月19日
wangshangkun  LV2 2020年5月25日
木扬木  LV2 2020年4月25日
大杰打劫  LV8 2020年3月24日
gezongyuan  LV9 2020年1月7日
最近浏览更多
PISCESPLUS  LV4 9月3日
ymrdhgv 6月24日
暂无贡献等级
晴曛  LV6 2月20日
xiquyiyuan  LV10 1月12日
WBelong  LV8 2023年12月28日
Henew168  LV2 2023年12月4日
李朝磊  LV18 2023年10月23日
陆程江  LV2 2023年5月28日
uni-code_0123  LV1 2023年4月20日
ssmss951  LV3 2023年2月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友