Hibernate 实战教程:从零开始搭建项目

下载需积分: 0 | PDF格式 | 180KB | 更新于2025-01-07 | 190 浏览量 | 1 下载量 举报
收藏
"hibenater笔记" 本篇笔记主要介绍了如何开始使用Hibernate,一个流行的Java ORM框架,以及在实际开发中的关键概念和操作。对于初学者来说,这些内容提供了宝贵的指导。 1. **创建Hibernate项目** - 首先,需要创建一个新的Java项目。 - 接着,引入必要的依赖库,包括Hibernate的核心库hibernate3.jar以及所有lib目录下的jar文件,还有MySQL的JDBC驱动。 2. **配置文件和实体类** - 创建`hibernate.cfg.xml`配置文件,这是Hibernate项目的基石,用于配置数据库连接信息、日志配置(如log4j)等。 - 定义实体类,这些类对应数据库中的表,它们是业务逻辑处理的基础。 - 编写实体类的映射文件,例如`User.hbm.xml`,它定义了实体类与数据库表之间的映射关系。 3. **配置与工具类** - 将映射文件(如`User.hbm.xml`)添加到`hibernate.cfg.xml`中,使得Hibernate知道如何管理和持久化这些实体。 - 编写`hbm2ddl`工具类,可以自动生成数据库表结构,简化了数据库建模的工作。 4. **客户端开发与调试** - 在`hibernate.cfg.xml`中设置`<property name="hibernate.show_sql">true</property>`,使得SQL语句能够在控制台打印出来,便于开发者跟踪和调试。 5. **JUnit与单元测试** - 使用JUnit进行单元测试,测试类需继承`TestCase`,测试方法以`test`开头,无参数且无返回值。 - 单元测试代码最好独立于主业务代码,保持代码组织清晰。 6. **理解Hibernate中的对象状态** - **Transient状态**:对象未被Session管理,数据库中没有对应的记录。若尝试保存,需要先调用`Session.save()`或`Session.persist()`。 - **Persistent状态**:对象已纳入Session管理,数据库中有匹配的数据。在Session关闭后,对象会变为Detached状态。 - **Detached状态**:对象曾是Persistent状态,但当前Session不再管理它。如果需要更新数据库,需要先重新attach到Session。 7. **Hibernate的CRUD操作** - Hibernate提供了创建(Create)、读取(Read)、更新(Update)和删除(Delete)对象的便捷方法,简化了数据库操作。 8. **get和load方法的区别** - `get()`直接从数据库中获取对象,如果不存在则返回`null`。 - `load()`返回的是代理对象,只有在需要时才去数据库加载,如果对象不存在,则抛出异常。 9. **实体类设计原则** - 实现无参构造函数,便于Hibernate实例化对象。 - 提供标识属性(通常是ID),用于区分不同的实体实例。 - 对于与SQL关键字冲突的属性,需使用`table`或`column`注解重命名。 10. **Hibernate基本映射** - `<class>`标签映射为数据库表,`<property>`标签将普通属性映射为表字段。 - 普通属性指的是不包含自定义类、集合或数组的属性。 通过这个笔记,读者能够掌握Hibernate的基本使用,包括项目搭建、对象状态管理、数据操作以及映射配置等核心概念,为后续深入学习和使用Hibernate打下坚实基础。

相关推荐