package com.hiernate.util;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hiernate.persistence.*;
//hibernate工具类,于数据库交互.
public class HibernateUtil {
static private Session session;
static GetHibernate hib = new GetHibernate(); //创建
// 按照用户名和密码寻找用户
public static List findUser(String strUserName, String strPwd) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession(); //调用公共类的开启session方法.
tx = (Transaction) session.beginTransaction(); //开启事物
Query query = session.createQuery("from User as u where u.userName=:strUserName and u.pwd=:strPwd"); //应用HQL检索查找满足条件的集合
query.setString("strUserName", strUserName); //动态绑定参数
query.setString("strPwd", strPwd);
list = query.list(); //list方法用来执行HQL语句
tx.commit(); //事务的提交
hib.closeSession(session); //关闭session
} catch (Exception e) {
e.printStackTrace(); //输出异常信息
tx.rollback(); //事务的回滚
}
return list;
}
// 查出所有用户并分页
public static List findUser(int recPerPage,int pages) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
Query query = session.createQuery("from User");
query.setFirstResult(recPerPage);
query.setMaxResults(pages);
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}
// 查找员工的总记录数
public static int findUserCount() {
Transaction tx = null;
int intCount=0;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
String count = (session.createQuery("select count(*)from User").uniqueResult()).toString();
intCount = Integer.parseInt(count);
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return intCount;
}
// 修改用户信息
public static void updateUser(User user) {
Transaction tx = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
session.update(user);
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
}
// 删除用户
public static void deleUser(User user) {
Transaction tx = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
session.delete(user);
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
}
// 查找用户id方法
public static List findUserId(int intId) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
Query query = session
.createQuery("from User as u where u.id =:intMedeId");
query.setInteger("intMedeId", intId);
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}
// 按部门查找用户
public static List findUser(String strBranch,int intFrist,int intPages) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
Query query = session
.createQuery("from User as u where u.branch=:strBranch");
query.setString("strBranch", strBranch);
query.setFirstResult(intFrist);
query.setMaxResults(intPages);
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}
// 按部门查找员工的总记录数
public static int findUserCount(String branch) {
Transaction tx = null;
int intCount=0;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
intCount = Integer.parseInt( (session.createQuery("select count(*)from User u where u.branch ="+"'"+branch+"'").uniqueResult()).toString());
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return intCount;
}
// 查找优秀员工
public static List findU() {
Transaction tx = null;
List list = null;
try {
session = hib.openSession();
tx = (Transaction) session.beginTransaction();
Query query = session
.createQuery("from User as u where u.bestMan =1");
list = query.list();
tx.commit();
hib.closeSession(session);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
tx.rollback();
}
return list;
}
// 查找菜单
public static List findMenu(int intMendId) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession(); //利用公共类开启session
tx = (Transaction) session.beginTransaction(); //开启事务
Query query = session
.createQuery("from Menu as m where m.modeId =:intMedeId");
query.setInteger("intMedeId", intMendId); //绑定查询参数
list = query.list();
tx.commit();
hib.closeSession(session); //利用公共类关闭session
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}
// 查出会议记录,并分页
public static List finMeeting(int intFrint,int intpages) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession(); //打开session
tx = (Transaction) session.beginTransaction(); //开启事务
Query query = session.createQuery("from Meeting"); //创建Query对象
query.setFirstResult(intFrint); //调用Query的分页方法
query.setMaxResults(intpages);
list = query.list(); //查询结果返回list集合
tx.commit(); //提交事务
hib.closeSession(session); //关闭session
} catch (Exception e) {
e.printStackTrace();
tx.rollback();
}
return list;
}
// 查找会议的总记录数
public static int findMeetingCount() {
Transaction tx = null; //创建事务
int intCount=0; //声明int型变量
try {
session = hib.openSession(); //调用公共类打开session
tx = (Transaction) session.beginTransaction();//开启事务
intCount = Integer.parseInt((session.createQuery("select count(*)from Meeting").uniqueResult()).toString());
//如果在不确定查询结果类型的时候,可用uniqueResult()方法,返回Object
tx.commit(); //提交事务
hib.closeSession(session); //关闭session
} catch (Exception e) {
e.printStackTrace();
tx.rollback(); //撤消事务
}
return intCount;
}
// 查出符合会议id集合
public static List findMeetingid(int intid) {
Transaction tx = null;
List list = null;
try {
session = hib.openSession(); //调用公共类打开session
tx = (Transaction) session.beginTransaction(); //开启事务
Query query = session.createQuery("from Meeting as m where m.id =:intid"); //按id号检索对象
query.setInteger("intid",intid); //动态绑定参数
list = query.list(); //执行HQL语句
tx.commit(); //提交事务
hib.closeSession(session);
小贝德罗
- 粉丝: 89
- 资源: 1万+
最新资源
- SimpleComTools开发的TCP Test Tool和UDP Test Tool
- PLC小车自动控制往返系统设计与仿真 《可编程控制器原理与应用》综合设计性实验 s7-1200系列,博途V15 基于博途平台小车自动往返控制系统的设计与仿真,包括硬件组态、变量定义、PLC程序设计
- 企业管理-OKR计划表
- Jmeter-01、08
- 改进二进制粒子群算法配电网重构 可以动态生成配电网重构过程,目标函数为功率损耗,算例为IEEE33节点系统 程序简洁明了,注释详细
- 多智能体、一致性、时滞 含通信时滞和输入时滞的多智能体一致性仿真 简单的多智能体一致性性仿真图,包含状态轨迹图和控制输入图 适用于初学者
- 齿轮、行星齿轮、端面齿轮、斜齿轮、非圆齿轮、圆弧齿轮……啮合理论、啮合原理、齿面求解、传动特性、接触分析tca、传动误差等技术matlab程序实现 参照李特文《齿轮几何学与啮合理论》
- 直流无刷电机模型+三闭环-simulink
- Java毕设项目:基于spring+mybatis+maven+mysql实现的养老院老人健康监护平台【含源码+数据库+开题报告+任务书+毕业论文】
- 51单片机开发的光照强度检测程序源码,用滑动变阻器分压代替采集电压信号光敏电阻, 包括程序源码和原理图和protues仿真, 程序源码注释详细,非常适合单片机开发人员,
- 1.Python简介.ipynb
- 基于simulink的永磁同步电机DTC控制系统仿真 基于模糊控制的pmsm的DTC控制系统仿真
- Java毕设项目:基于spring+mybatis+maven+mysql实现的农家乐系统分前后台【含源码+数据库+毕业论文】
- 双向LLC比较新的拓扑结构,双变压器,CDT-LC双向直流变器 只有开环仿真,可实现软开关 送对应参考文县
- Java毕设项目:基于spring+mybatis+maven+mysql实现的药品管理系统【含源码+数据库+毕业论文】
- 光伏发电并网逆变simulink matlab仿真 两级三相 单相系统 前级采用boost升压斩波电路 mppt最大功率点跟踪采用扰动观察法 可接单相或者三相并网逆变
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈