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

📄 hibernateutil.java

📁 这是一个上传下载的原代码
💻 JAVA
字号:
package com.project.util;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.DetachedCriteria;

/**
 *  创建人:杨森
 *  创建时间:2007-9-7
 *  描述:HibernateUtil自定义工具类
 *  最后修改时间:
 *  最后修改人:
 */
public class HibernateUtil {
	public static SessionFactory SessionFactory;
	public HibernateUtil(){}
	/**
	 * @author YangSen
	 * @描述 获取session
	 */
	public static Session getSessionOpen(){
		Session sess = null;
		try {
			SessionFactory = new Configuration().configure().buildSessionFactory();
		} catch (Exception e) {
			System.out.println("Session获取失败");
			e.printStackTrace();
		}
		return sess = SessionFactory.openSession();
	}
	/**
	 * @author YangSen
	 * @描述 关闭session
	 */
	public static void closeSessio(Session session){
		if(session != null){
			session.close();
		}
	}
	/**
	 * @author YangSen
	 * @描述 自由选择条件查询
	 */
	public static List findNews(DetachedCriteria detachedCriteria, Session session,int pageNum,int pageSize){
		List list = new ArrayList();
		List listNews = null;
		int newsNum = 0;
		try{
			Transaction tx = session.beginTransaction();
			Criteria criteria = detachedCriteria.getExecutableCriteria(session);
			newsNum = criteria.list().size();
			criteria.setFirstResult((pageNum*pageSize));
			criteria.setMaxResults(pageSize);
			listNews = criteria.list();
			tx.commit();
			list.add(newsNum);
			list.add(listNews);
		}catch(HibernateException ex){
			ex.printStackTrace();
			return null;
		}
		return list;
	}
	/**
	 * @author YangSen
	 * @描述 分页查询
	 */
	public static List paginationQuery(Query query,int index,int max){
		index = index*max;
		query.setFirstResult(index);
		query.setMaxResults(max);
		return query.list();
	}
	/**
	 * @author YangSen
	 * @描述 获取新闻总记录
	 */
	public static int getNewsNum(Session session,String column,String sort,String role){
		Query query = session.createSQLQuery("select count(*) from erma_news_info where kind=? and sort=? and newrole in ('0','"+ role +"')");
		query.setParameter(0, column);
		query.setParameter(1, sort);
		List list = query.list();
		return Integer.valueOf(String.valueOf(list.get(0))).intValue();
	}
	/**
	 * @author YangSen
	 * @描述 针对信息服务 获取信息服务总记录
	 */
	public static int getNewsNum(Session session,String column){
		Query query = session.createSQLQuery("select count(*) from erma_news_info where kind=?");
		query.setParameter(0, column);
		List list = query.list();
		return Integer.valueOf(String.valueOf(list.get(0))).intValue();
	}
	/**
	 * @author YangSen
	 * @描述 获取后台所有新闻
	 */
	public static int getBgNewsNum(Session session,String role){
		Query query = session.createSQLQuery("select count(*) from erma_news_info where kind<>'通知公告' and kind <> '滚动条' and kind <> '信息服务' and newrole in ('0','" + role + "')");
		List list = query.list();
		return Integer.valueOf(String.valueOf(list.get(0))).intValue();
	}
	/**
	 * @author YangSen
	 * @描述 获取后台所有公告
	 */
	public static int getBgInfoNum(Session session){
		Query query = session.createSQLQuery("select count(*) from erma_news_info where kind = '通知公告'order by createDate desc");
		List list = query.list();
		return Integer.valueOf(String.valueOf(list.get(0))).intValue();
	}
}

⌨️ 快捷键说明

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