⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectdao.java

📁 根据你自己的选择可以进行添加项目、修改项目
💻 JAVA
字号:
package com.jadebird.hk.hibernate.dao;

import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.jadebird.hk.hibernate.dao.base.BaseHibernateDAO;
import com.jadebird.hk.hibernate.vo.ProjectInfo;
import com.jadebird.hk.struts.Form.ProjectForm;
import com.jadebird.hk.struts.vo.CardInfo;

public class ProjectDAO extends BaseHibernateDAO {

	/**
	 * 查询所有的项目
	 * @return
	 */
	public List findAllProjects()
	{
		ProjectInfo p=null;
		List list=new ArrayList();
		int sum=this.findAllNumber();
		Session session=this.getSession();
		try {
			Criteria c=session.createCriteria(ProjectInfo.class);
			for(int i=0;i<c.list().size();i++)
			{
				p = (ProjectInfo)c.list().get(i);
				CardInfo cInfo=new CardInfo(p.getProId(),p.getProName(),p.getProNumber(),sum);
				double cardLv=(double)cInfo.getCardNumber()*100/sum;
				cInfo.setCardLv((cardLv+"00").substring(0,5));
				
				list.add(cInfo);
			}
			return list;
		} catch (Exception e) {
			// TODO: handle exception
		}
		finally{
			session.close();
		}
		return null;
	}
	/**
	 * 查询总票数
	 */
	public int findAllNumber()
	{
		Session session=this.getSession();
		int sum=0;
		String hql="from ProjectInfo";
		try {
			Query query=session.createQuery(hql);
			for(int i=0;i<query.list().size();i++)
			{
				sum+=((ProjectInfo)query.list().get(i)).getProNumber();
			}
			return sum;
		} catch (Exception e) {
			// TODO: handle exception
		}
		finally{
			session.close();
		}
		return 0;
	}
	
	/**
	 * 根据proid查询项目信息
	 */
	public CardInfo findProject(int proId)
	{
		Session session=this.getSession();
		int sum=this.findAllNumber();
		ProjectInfo p=null;
		try {
			p=(ProjectInfo) session.get(ProjectInfo.class,proId);
			CardInfo card=new CardInfo(p.getProId(),p.getProName(),p.getProNumber(),sum);
			double cardLv=(double)card.getCardNumber()*100/sum;
			card.setCardLv((cardLv+"000").substring(0,5));
			
			return card;
		} catch (Exception e) {
			// TODO: handle xception
		}
		finally{
			session.close();
		}
		return null;
	}
	/**
	 * 修改项目
	 */
	public boolean updateProject(ProjectForm form)
	{
		Session session=this.getSession();
		ProjectInfo p=null;
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			p=(ProjectInfo) session.get(ProjectInfo.class,form.getProId());
			p.setProName(form.getProName());
			p.setProNumber(form.getProNumber());
			
			session.update(p);
			tx.commit();
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			tx.rollback();
		}
		finally{
			session.close();
		}
		return false;
	}
	
	/**
	 * 添加项目
	 */
	public boolean addProject(String proName)
	{
		Session session=this.getSession();
		ProjectInfo p=null;
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			p=new ProjectInfo(proName,0,0);
			
			session.save(p);
			tx.commit();
			return true;
		} catch (Exception e) {
			tx.rollback();
		}
		finally{
			session.close();
		}
		return false;
	}
	
	/**
	 * 删除项目
	 */
	public boolean deleteProjectById(int proId)
	{
		Session session=this.getSession();
		ProjectInfo p=null;
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			p=(ProjectInfo) session.get(ProjectInfo.class, proId);
			
			session.delete(p);
			tx.commit();
			return true;
		} catch (Exception e) {
			tx.rollback();
		}
		finally{
			session.close();
		}
		return false;
	}
	/**
	 * 投票
	 */
	public boolean addProjectNumber(int proId)
	{
		Session session=this.getSession();
		ProjectInfo p=null;
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			p=(ProjectInfo) session.get(ProjectInfo.class, proId);
			p.setProNumber(p.getProNumber()+1);
			session.update(p);
			tx.commit();
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			tx.rollback();
		}
		finally{
			session.close();
		}
		return false;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -