hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 在本篇《Hibernate学习笔记》中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架。Hibernate允许开发者以面向对象的方式处理数据库操作,极大地简化了数据存取的复杂性。以下是一些关键知识点: 1. **删除操作**: Hibernate支持对数据库表的删除操作,这通常通过Session接口的`delete()`方法实现。例如,如果你想删除一个对象,你可以先从数据库加载它,然后调用`session.delete(object)`。在SQL层面,这将对应于`DELETE FROM`语句。 2. **请求转发**: 在Struts框架中,`ActionForward`用于指定请求的转发路径,例如`return new ActionForward("/index.jsp")`会将请求转发到`index.jsp`页面。然而,需要注意的是,ActionForm中的数据在转发后不再有效,因此需要将表单数据封装到一个Bean中,以便与Hibernate交互。 3. **BeanUtils工具类**: `org.apache.commons.beanutils.BeanUtils`是一个实用工具类,用于对象属性之间的复制。例如,`BeanUtils.copyProperties(deptinfo, deptActionForm)`将表单数据复制到持久化对象中,便于与Hibernate进行交互。 4. **查询操作**: Hibernate提供了HQL(Hibernate Query Language),这是一种面向对象的查询语言,类似于SQL。创建一个`Query`对象,如`query = session.createQuery(counthql)`,然后调用`query.list()`来执行查询并获取结果列表。 5. **数据插入**: Hibernate的插入操作可以通过`Session`的`save()`方法实现。在示例代码中,创建一个新的Userinfo对象,设置其属性,然后调用`session.save(userinfo)`。事务管理也是必要的,以确保数据的原子性和一致性。 6. **查询操作(无事务)**: 读取数据时,通常不需要开启事务,除非有特殊需求。Hibernate的HQL查询可以通过`createQuery()`方法创建`Query`对象,然后调用`list()`获取结果集。例如,`hql = "select user from Userinfo user"`这样的HQL语句会返回Userinfo对象的列表。 7. **条件查询(包含中文)**: 当不与Spring框架结合使用时,Hibernate支持在HQL中直接使用中文字符进行模糊匹配,如`hql = "Select user From Userinfo user where user.username like '%用户名 5%'"`。但在Spring环境下,通常需要使用占位符`like :username`,然后通过`query.setString("username", "value")`设置参数。 8. **更新操作**: 更新操作同样需要事务管理,因为它们可能涉及到多条数据库语句。`update()`方法中,首先开启事务,执行更新操作(如`session.update(userinfo)`),然后提交事务,如果发生错误则回滚。 9. **SessionFactory**: `HibernateSessionFactory`通常是一个工厂类,负责提供`Session`实例。`getSession()`方法用于获取当前线程绑定的Session,而`closeSession()`则用于关闭Session,释放数据库连接。 10. **事务管理**: Hibernate中的事务管理是通过`Transaction`接口实现的。`beginTransaction()`开始事务,`commit()`提交事务,`rollback()`回滚事务。在异常处理中,确保在发生错误时回滚事务,以保持数据一致性。 以上就是Hibernate学习笔记的一些核心概念和操作示例,涵盖了数据的增删查改以及事务管理。通过理解和实践这些知识点,开发者可以更有效地利用Hibernate进行数据库操作。
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- his_jdyl_qd_brxx2.sql
- 成熟草莓检测 草莓照片 - 物体检测数据集
- TeamIDE-win-2.6.31Team IDE 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、M
- Chrome 谷歌浏览器下载
- 360公司出品的清理windows系统垃圾的工具,非常好用
- 2661440830UT205A+ 206A+说明书.pdf
- TreeSize Free 是一个免费的检查文件夹大小的工具,便于找出哪个文件占用了较多的磁盘空间
- PixPin截图工具,非常好用的一款截图工具
- 布尔教育linux优化笔记
- 不要教授而是激励的原文