package com.exam.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 org.hibernate.criterion.Expression;
import com.exam.bean.Admin;
import com.exam.factory.SessionFactory;
public class AdminDAO {
/**
* 添加管理员信息
*/
public boolean addAdmin(Admin admin) {
// 标识新增是否成功
boolean bool = false;
// 创建session对象
Session session = SessionFactory.currentSession();
// 创建事务tr并打开事务
Transaction tr = session.beginTransaction();
try {
// 调用session的添加数据方法
session.save(admin);
// 提交事务
tr.commit();
bool = true;
} catch (Exception e) {
e.printStackTrace();
// 回滚事务
tr.rollback();
} finally {
// 关闭session对象
SessionFactory.closeSession();
}
return bool;
}
/**
* 修改管理员信息
*/
public boolean updateAdmin(Admin admin) {
// 标识修改是否成功
boolean bool = false;
// 创建session对象
Session session = SessionFactory.currentSession();
// 创建事务tr并打开事务
Transaction tr = session.beginTransaction();
try {
// 调用session的修改数据方法
session.saveOrUpdate(admin);
// 提交事务
tr.commit();
bool = true;
} catch (Exception e) {
// 回滚事务
tr.rollback();
} finally {
// 关闭session对象
SessionFactory.closeSession();
}
return bool;
}
/**
* 删除管理员信息
*/
public boolean deleteAdmin(Admin admin) {
// 标识删除是否成功
boolean bool = false;
// 创建session对象
Session session = SessionFactory.currentSession();
// 创建事务tr并打开事务
Transaction tr = session.beginTransaction();
try {
// 调用session的删除数据方法
session.delete(admin);
// 提交事务
tr.commit();
bool = true;
} catch (Exception e) {
// 回滚事务
tr.rollback();
} finally {
// 关闭session对象
SessionFactory.closeSession();
}
return bool;
}
/**
* 获得全部的管理员信息
*/
public List getAllAdmins() {
// 创建list对象
List list = new ArrayList();
// 创建session对象
Session session = SessionFactory.currentSession();
try {
// 调用session的获得数据列表方法,传递HQL查询语句
Query query = session.createQuery("select OBJECT(o) from Admin o order by o.adminid");
// 获得返回的值list
list = query.list();
} catch (Exception e) {
} finally {
// 关闭session对象
SessionFactory.closeSession();
}
return list;
}
}
Hibernate下的业务操作都是由session来完成的,SessionFactory为获得实体session的类,在eclipse下引入hibernate框架时会自动生成的工厂类SessionFactory,只需自己去定义一个名字,放在自定义的包下即可调用SessionFactory.currentSession()方法获得session对象!
分享到:
相关推荐
Struts HIbernate Spring 增删改的实例
采用struts2+spring+hibernate框架 实现简单的增删改功能,适合ssh框架初学者学习
纯hibernate增删改差基本操作,入门实例. 数据的话根据entity包里的字段 自己写个表啦 不要太依赖.对自己受益良多 入手绝佳安利!
基于spring mvc注解的增删改实例,orm采用hibernate。 资源来自csdn,添加了修改功能和readme说明,让初学者更简单的运行起来。
flex+java工程 博文链接:https://guoweisong.iteye.com/blog/724157
实现了,hibernate 与 struts 整合的实例
springmvc+spring+hibernate4+easyui实现的增删改查,通过hibernate可以对数据库进行建表操作,代码在eclipse和myeclipse都可以运行,包含jar文件
2017 spring data jpa+spring4.2+springmvc+hibernate4.3 maven环境intellij idea增删改查实例
一个完整的SSH,测试正确。适合于初学者。参考网上的实例。
spring+springmvc+hibernate 增删改 小实例 在网上找的
一个简单的T4SH整合实例,实现用户数据的增删改查询
这是我用JSP+struts+hibernate+Sql Server做的一个简单的图书管理系统,用Myeclipse开发,只做了后台代码,页面没做美化。...系统实现了管理员和读者信息的增删改,以及图书的增、删、查询、外借、还回等功能模块。
一个基于Spring + Struts + Hibernate 的增删改差,对于初学者了解一个基本的SSH框架有一定帮助
该项目主要用到的技术是spring、struts、hibernate,用的数据库是SqlServer,实现了对数据的正删改查操作!
spring+struts+hibernate 的整合库 和一个开发实例 用户登录 进行增删改的 实例
一个以pureMVC为flex前端框架,blazeds为通信服务器,spring和hibernate为服务端框架,实现了增删改等功能的完整实例,数据库使用mysql,部分关键地方加了注释,enjoy!
项目说明: 本实例是一个用JSF1.2+EJB3.0实现的员工CRUD的一个实例,业务非常简单,主要是为了演示这两种技术的使用。若与商业应用类同,纯属巧合。 <br>2.源码说明: <br> 1)本项目开发环境 操作...
SSH实例,涉及关联表的操作,自定义类的自定义类型转换 一个展现学生列表网页,有分页功能。 一个增删改班级的功能模块。 增删改学生信息的详细页面。 学生与班级关联功能,选择或者填写信息后关联。 前台采用struts...
说实话, 我也是特别懒的人, 很早就想看看 Ext, 尤其是做一个实时编辑的带后台的表格例子, 一直没能深入, 今天抽时间深入看了看 Ext 的 EditorGrid,可编辑的表格控件,总算凑出来了个实时增删改的例子(不单独弹出添加...
用hibernate作为持久化解决方案的GenericHibernateDao实现类,被定义为抽象类,它提取了CRUD操作,这就是简化代码的关键,以便于更好的重用,这个就不给例子了,增删改都好写,查就需要各种条件了。 然后是各个领域...