📄 hibernateutil.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 + -