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

📄 gradedaoimp.java

📁 该在线考试关系统(B/S结构)主要采用JAVA语言开发涉及主要WEB技术有:Struts+Spring+Hibernate框架
💻 JAVA
字号:
package dao.hibernate;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.jfree.data.general.DefaultPieDataset;
import org.springframework.orm.hibernate3.HibernateTemplate;

import po.Oexampaper;
import po.Ograde;
import po.Ostudent;
import dao.IGradeDao;

public class GradeDaoImp implements IGradeDao
{
	private SessionFactory sf;
	private HibernateTemplate template;
	
	private static float level_6 = 0.6f;
	private static float level_7 = 0.7f;
	private static float level_8 = 0.8f;
	private static float level_9 = 0.9f;
	
	public SessionFactory getSf()
	{
		return sf;
	}
	
	public void setSf(SessionFactory sf)
	{
		this.sf = sf;
		//通过session工厂得到hibernate模版
		template = new HibernateTemplate(sf); 
	}
	
	public void addGrade(Ograde grade)
	{
		template.save(grade);
		sf.close();
	}

	public void delGrade(String id)
	{
		template.delete(this.findGradeByid(id));
		sf.close();
	}

	public List findAllGrade(Oexampaper exam)
	{
		SessionFactory sf = template.getSessionFactory();
		Session s = sf.openSession();
		String hql = "select o from Ograde o where o.examid=?";
	    Query q = s.createQuery(hql);
	    q.setEntity(0,exam);
	    List list  = q.list();
	    s.close();
		return list;
	}

	public Ograde findGradeByid(String id)
	{
		Ograde grade = (Ograde) template.get(Ograde.class, Long.parseLong(id));
		sf.close();
		return grade;
	}

	public Ograde findGradeBykey(Ostudent stu, Oexampaper exam)
	{
		SessionFactory sf = template.getSessionFactory();
		Session s = sf.openSession();
		String hql = "select o from Ograde o where o.ostudent=? and o.oexampaper=?";
	    Query q = s.createQuery(hql);
	    q.setParameter(0,stu);
	    q.setParameter(1,exam);
	    List list  = q.list();
	    s.close();
	    if(list.size()!=0)
	    {
	    	 Ograde grade = (Ograde)list.get(0);
	    	 return grade;
	    }
	    else
	    {
	    	return null;
	    }
	}
	

	public Collection findByGradekey(int currow, int pagesize, String text, String colleage, String exam)
	{
		Collection TestList = null;
		List listall = new ArrayList();
		Query q = null;
		SessionFactory sf = template.getSessionFactory();
		Session s = sf.openSession();
		Ostudent stu = new Ostudent();
		Oexampaper examp = new Oexampaper();
		String hql = "";
		
       //没有条件
		if ((null == text && null == colleage && null == exam)|| ("".equals(text) && "null".equals(colleage) && "null".equals(exam))||
				("".equals(text) && "所有专业".equals(colleage) && "所有试卷".equals(exam)))
		{
			hql = "from Ograde o order by o.id asc";
			q = s.createQuery(hql);
		}
		
		
		//1个条件
		else if(null!=text && "所有专业".equals(colleage) && "所有试卷".equals(exam))
		{
			hql = "from Ograde og where og.ostudent.name like :name or og.ostudent.id like :id";
			q = s.createQuery(hql);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		
		else if("".equals(text)&& ("所有专业".equals(colleage)==false) && "所有试卷".equals(exam))
		{

			//hql = "from Ostudent os left outer join os.ogrades og where os.college=?";
			//hql = "from Ograde og where og.ostudent.id in (select id from Ostudent os where os.college=?)";
			
			hql = "from Ograde og where og.ostudent.college=?";
			q = s.createQuery(hql);
			q.setString(0, colleage);

		}
		
		else if("".equals(text) && "所有专业".equals(colleage) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.oexampaper.name=?";
			q = s.createQuery(hql);
			q.setString(0,exam);
		}
		
		//2个条件
		else if(null!=text && ("所有专业".equals(colleage)==false) && "所有试卷".equals(exam))
		{
			hql = "from Ograde og where  og.ostudent.college=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else if(null!=text && "所有专业".equals(colleage) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where  og.oexampaper.name=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,exam);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else if("".equals(text)&& ("所有专业".equals(colleage)==false) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.ostudent.college=? and og.oexampaper.name=?";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString(1,exam);
		}
		
		//3个条件
		else if(null!=text && ("所有专业".equals(colleage)==false) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.ostudent.college=? and og.oexampaper.name=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString(1,exam);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else 
		{
			
		}
		
		q.setFirstResult(currow);
	    q.setMaxResults(pagesize);
	    TestList = q.list();
	    s.close();
	    return TestList;
	    

	}
	
	public int findByGradekey(String text, String colleage, String exam)
	{
		Query q = null;
		SessionFactory sf = template.getSessionFactory();
		Session s = sf.openSession();
		String hql = "";
		int count = 0;
		
		//没有条件
		if ((null == text && null == colleage && null == exam)|| ("".equals(text) && "null".equals(colleage) && "null".equals(exam))||
				("".equals(text) && "所有专业".equals(colleage) && "所有试卷".equals(exam)))
		{
			hql = "from Ograde o order by o.id asc";
			q = s.createQuery(hql);
		}
		
		//1个条件
		else if(null!=text && "所有专业".equals(colleage) && "所有试卷".equals(exam))
		{
			hql = "from Ograde og where og.ostudent.name like :name or og.ostudent.id like :id";
			q = s.createQuery(hql);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		
		else if("".equals(text)&& ("所有专业".equals(colleage)==false) && "所有试卷".equals(exam))
		{

			//hql = "from Ostudent os left outer join os.ogrades og where os.college=?";
			//hql = "from Ograde og where og.ostudent.id in (select id from Ostudent os where os.college=?)";
			
			hql = "from Ograde og where og.ostudent.college=?";
			q = s.createQuery(hql);
			q.setString(0, colleage);

		}
		
		else if("".equals(text) && "所有专业".equals(colleage) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.oexampaper.name=?";
			q = s.createQuery(hql);
			q.setString(0,exam);
		}
		
		//2个条件
		else if(null!=text && ("所有专业".equals(colleage)==false) && "所有试卷".equals(exam))
		{
			hql = "from Ograde og where  og.ostudent.college=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else if(null!=text && "所有专业".equals(colleage) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where  og.oexampaper.name=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,exam);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else if("".equals(text)&& ("所有专业".equals(colleage)==false) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.ostudent.college=? and og.oexampaper.name=?";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString(1,exam);
		}
		
		//3个条件
		else if(null!=text && ("所有专业".equals(colleage)==false) && ("所有试卷".equals(exam))==false)
		{
			hql = "from Ograde og where og.ostudent.college=? and og.oexampaper.name=? and (og.ostudent.name like :name or og.ostudent.id like :id)";
			q = s.createQuery(hql);
			q.setString(0,colleage);
			q.setString(1,exam);
			q.setString("name", "%" + text + "%");
			q.setString("id", "%" + text + "%");
		}
		else 
		{
			
		}
		
		count = q.list().size();
		s.close();
		
		return count;
	}

	public List findByGradekeyPie(String exam, String colleage)
	{
		Query q = null;
		SessionFactory sf = template.getSessionFactory();
		Session s = sf.openSession();
		String hql = "";
		List list = new ArrayList();
	
		hql = "from Ograde og where og.ostudent.college=? and og.oexampaper.name=?";
		q = s.createQuery(hql);
		q.setString(0,colleage);
		q.setString(1,exam);
		
		list = q.list();
		s.close();
		return list;
	}


	public DefaultPieDataset getDataSet(String Totalpoint,String exam, String colleage)
	{
		String level_bad = "不及格";
		String level_66 = "分以上";
		String level_77 = "分以上";
		String level_88 = "分以上";
		String level_99 = "分以上";
		
		int i_bad = 0;
		int i_6 = 0;
		int i_7 = 0;
		int i_8 = 0;
		int i_9 = 0;
		
		float totalpoint = Float.parseFloat(Totalpoint);
		float point_6 = totalpoint*level_6;
		float point_7 = totalpoint*level_7;
		float point_8 = totalpoint*level_8;
		float point_9 = totalpoint*level_9;
		
		
		level_66 = (int)point_6 + level_66; 
		level_77 = (int)point_7 + level_77; 
		level_88 = (int)point_8 + level_88; 
		level_99 = (int)point_9 + level_99; 
		
		
		List list = this.findByGradekeyPie(exam, colleage);
		Iterator iter = list.iterator();
		
		while(iter.hasNext())
		{
			Ograde grade = (Ograde)iter.next();
			float point = Float.parseFloat(grade.getGrade());
			if(point >= point_6&&point < point_7)
			{
				i_6++;
			}
			else if(point >= point_7&&point < point_8)
			{
				i_7++;
			}
			else if(point >= point_8&&point < point_9)
			{
				i_8++;
			}
			else if(point >= point_9)
			{
				i_9++;
			}
			else
			{
				i_bad++;
			}
		}
		
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue(level_bad, i_bad);
		dataset.setValue(level_66, i_6);
		dataset.setValue(level_77, i_7);
		dataset.setValue(level_88, i_8);
		dataset.setValue(level_99, i_9);
		return dataset;
	}

	public List getGradeScore()
	{
		
		return null;
	}
}

⌨️ 快捷键说明

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