Hibernate 常用方法介绍
Hibernate 是一个流行的 ORM 工具,它可以大大简化数据库操作过程。本文将介绍一些 Hibernate 的常用方法。
配置 Hibernate
在使用 Hibernate 之前,我们需要进行配置。以下是配置 Hibernate 的基本步骤:
- 添加项目依赖,包括 Hibernate 核心库、连接池和数据库驱动等。
- 创建
hibernate.cfg.xml
文件,该文件包含数据库连接信息、实体类映射信息等。文件内容参考如下:
<hibernate-configuration>
<session-factory>
<!-- 数据库连接信息 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!-- Hibernate 映射文件 -->
<mapping class="com.example.User"/>
<!-- 连接池配置 -->
<property name="connection.pool_size">1</property>
<property name="hibernate.current_session_context_class">thread</property>
<!-- 查询缓存配置 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 自动建表、更新表结构 -->
<property name="hibernate.hbm2ddl.auto">update</property>
</session-factory>
</hibernate-configuration>
Hibernate 基本方法
1. 保存实体类对象
使用 save()
方法可以将实体类对象保存到数据库中,示例代码如下:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
User user = new User("john", "123456");
session.save(user);
tx.commit();
如果需要在保存后获取自增 ID,可以使用 saveAndGetId()
方法。示例代码如下:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
User user = new User("john", "123456");
Long id = (Long) session.saveAndGetId(user);
tx.commit();
2. 删除实体类对象
删除实体类对象可以使用 delete()
方法,示例代码如下:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
User user = session.get(User.class, 1L);
session.delete(user);
tx.commit();
在删除前需要先获取要删除的实体类对象。
3. 更新实体类对象
更新实体类对象可以使用 update()
方法,示例代码如下:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
User user = session.get(User.class, 1L);
user.setPassword("654321");
session.update(user);
tx.commit();
在更新前需要先获取要更新的实体类对象,修改属性后再调用 update()
方法进行更新。
4. 查询实体类对象
查询实体类对象可以使用 get()
或 load()
方法。其中 get()
方法会直接从数据库中获取对象,而 load()
方法会返回一个代理对象,在访问代理对象的属性时才会从数据库中加载数据。示例代码如下:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
// 使用 get() 方法查询
User user1 = session.get(User.class, 1L);
System.out.println(user1);
// 使用 load() 方法查询
User user2 = session.load(User.class, 2L);
System.out.println(user2.getUsername());
tx.commit();
结束语
本文介绍了 Hibernate 的常用方法,包括保存、删除、更新和查询实体类对象。在使用 Hibernate 时,我们需要先进行配置,并正确使用 Hibernate 的方法来进行数据库操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:hibernate 常用方法介绍 - Python技术站