Hibernate4操作指南:增删查改与配置实战
"这篇文档主要介绍了在J2EE环境下使用Hibernate4进行数据库操作,包括增、删、查、改的基本方法以及配置流程。" 在Java企业级开发中,Hibernate是一个非常重要的持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是繁琐的数据交互。以下是关于Hibernate4在J2EE环境下进行增删查改操作和配置的详细说明: 1. 配置 Hibernate - 使用`Configuration`类初始化配置:首先创建一个`Configuration`对象,并调用`configure()`方法加载hibernate.cfg.xml配置文件,该文件定义了数据库连接等基本信息。 - 创建`SessionFactory`:通过`Configuration`对象的`buildSessionFactory()`方法生成`SessionFactory`,它是Hibernate的核心,用于创建`Session`实例。 - 获取`Session`:使用`SessionFactory`的`openSession()`方法获取`Session`对象,它是与数据库交互的单线程工作单元。 2. 增加数据(Insert) - 开启事务:在执行数据库操作前,需开启事务`Transaction tran = session.beginTransaction();` - 保存对象:使用`Session`的`save()`方法将Java对象持久化到数据库,例如`session.save(person);` - 提交事务:事务完成后,使用`tran.commit();`提交事务。 - 关闭Session:确保每次操作后关闭Session,释放资源`session.close();` 3. 更新数据(Update) - 同样,需要先开启事务`Transaction tran = session.beginTransaction();` - 更新对象:调用`Session`的`update()`方法更新数据库中的记录,如`session.update(person);` - 提交事务并关闭Session:与插入操作类似,提交事务并关闭Session。 4. 查询数据(Query) - 根据ID查询:可以使用HQL(Hibernate Query Language)编写查询语句,例如`String hql="FROM Person as p WHERE p.id=?";` - 创建查询:通过`Session`的`createQuery(hql)`方法创建`Query`对象。 - 设置参数:使用`Query`的`setString()`方法设置查询参数,如`q.setString(0, id);` - 执行查询:调用`Query`的`list()`方法执行查询并获取结果集。 - 遍历结果:如果结果存在,通过迭代器获取第一条匹配的记录。 5. 删除数据(Delete) - 删除操作通常也是在事务中进行,例如: - 开始事务`Transaction tran = session.beginTransaction();` - 删除对象:使用`Session`的`delete()`方法删除数据库中的记录,如`session.delete(person);` - 提交事务并关闭Session:`tran.commit();`和`session.close();` 以上是Hibernate4在J2EE环境下的基本操作和配置步骤,通过这些方法,开发者可以方便地管理数据库中的数据,提高开发效率。在实际应用中,还需要考虑事务管理、异常处理、性能优化等方面的问题。
*具体操作hibernate的类
*增加,删除,修改,按ID查询,模糊查询,查询全部
**/
public class PersonOperate {
//在hibernate中所有操作都是由Session完成
public Session session = null;
//在构造方法中实例化Session对象
public PersonOperate(){
//找出hibernate的配置
Configuration config = new Configuration().configure();
//从配置中取出SessionFactory
SessionFactory sf = config.buildSessionFactory();
//从SessionFactory中取出Session
this.session = sf.openSession();
}
//操作Hibernate类的所有操作都是通过Session完成的
//增加数据库中数据
public void insert(Person person){
//开始事务
Transaction tran = session.beginTransaction();
//执行语句
session.save(person);
//提交事务
tran.commit();
session.close();
}
//操作Hibernate类更改数据库中的数据
public void update(Person person){
//开始事务
Transaction tran = session.beginTransaction();
//执行语句
session.update(person);
//提交事务
tran.commit();
}
/*操作Hibernate类:按ID查询
*我们插入,修改都是对对象进行操作
*那么我们查询的时候也应该是返回一个对象
**/
public Person queryById(String id){
System.out.println(id);
Person person = null;
//hibernate查询语句
String hql = "FROM Person as p WHERE p.id = ?";
Query q = session.createQuery(hql);
q.setString(0, id);
List list = q.list();
Iterator iteator = list.iterator();
if(iteator.hasNext()){
person = (Person)iteator.next();
}
return person;
}
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展