Hibernate 语法:
Hibernate的所有的操作都是通过Session完成的.
基本步骤如下:
1:通过配置文件得到SessionFactory:
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
2:通过SessionFactory 得到一个Session
Session session=sessionFactory.openSession();
3:通过session进行插入,删除,修改以及查询.
插入例子:(1)声明一个事务;(2)Session执行save()操作;(3)事务提交;(4)关闭Session,可选.
public void insert(Person p){
Transaction tran=session.beginTransaction();
session.save(p);
tran.commit();
// session.close();
}
修改例子:(1)声明一个事务;(2)Session执行update()操作;(3)事务提交;(4)关闭Session,可选.
public void update(Person p){
Transaction tran=session.beginTransaction();
session.update(p);
tran.commit();
// session.close();
}
删除例子(主键删除,推荐使用):(1) 声明删除的SQl语句;(2)创建session的Query对象;(3)设置Query对象的参数;(4)执行Query的executeUpdate()操作;(5)Session事务提交
public void delete(int id){
String hql="delete Person as p where p.id=?";
Query query=session.createQuery(hql);
query.setInteger(0,id);
query.executeUpdate();
session.beginTransaction().commit();
}
删除例子(对象删除):(1)声明一个事务;(2)Session执行delete()操作;(3)事务提交;(4)关闭Session,可选.
public void delete(Person p){
Transaction tran = session.beginTransaction();
session.delete(p);
tran.commit();
session.close();
}
查询例子:(跟删除差不多) 查询语句不需要事务提交
(1) 声明删除的SQl语句;(2)创建session的Query对象;(3)设置Query对象的参数;
public Persion queryById(int id){
String hql="from Person as p where p.id=?";
Query query=session.createQuery();
query.setInteger(0,id);
List rsList=query.list();
iterator it=rsList.iterator();
Person person=null;
while(it.haseNext()){
person=(Person)it.next();
}
return person;
}
分享到:
相关推荐
`get()`用于根据主键查询,`createQuery()`用于构建HQL(Hibernate Query Language)查询,`save()`用于插入新记录,而`delete()`则用于删除记录。注意在执行事务性操作时,需要使用`Transaction`来确保数据的一致性...
- `Session`是数据库会话,用于执行数据库操作,如查询、更新和删除。它是线程不安全的,每次操作数据库时需要创建新的`Session`实例。 5. **操作数据库** - **保存/插入**:使用`Session`的`save()`或`...
上述代码展示了Hibernate在插入更新和删除操作时的基本流程。在实际应用中,开发者需要根据具体的业务逻辑和需求来调整代码,例如,在插入更新操作时,可能需要根据主键是否已存在来决定是插入新记录还是更新现有...
6. **批量操作**:提供批量插入、更新或删除的方法,比如`public void batchSave(List<T> entities)`,这在处理大量数据时可以大大提高效率。 7. **缓存管理**:Hibernate支持第二级缓存,工具类可以封装缓存的启用...
批处理是 Hibernate 中一种提高性能的方法,特别是在进行大量数据的插入、更新或删除时尤为明显。 - **默认行为** - 默认情况下,Hibernate 每次执行一条 SQL 语句后都会自动提交事务。 - **批量处理** - 可以...
例如,使用`Session.flush()`和`Session.clear()`控制事务边界,或配置`hibernate.jdbc.batch_size`来批量插入、更新和删除数据。 7. **避免N+1查询问题**: 当遍历一个集合并访问其关联属性时,可能会触发多次...
在本文中,我们将深入探讨Hibernate中的一些基本查询方法,这对于初学者掌握Hibernate进行数据操作非常有帮助。 1. **保存(Save)** Hibernate提供了`save()`方法来保存一个持久化对象到数据库。例如,如果有一个...
在Java企业级应用开发中,数据的创建、更新和删除(CRUD)操作是常见的需求。JPA(Java Persistence API)作为Java EE的一部分,提供了一种标准的方式来管理和持久化Java对象到关系数据库。Hibernate作为JPA的一个...
6. **Cascading 和 Join Fetching**:Cascading 可以简化关联对象的保存、更新和删除操作,Join Fetching 优化了多表查询性能。 7. **实体生命周期**:Hibernate 提供了预加载、加载、持久化、更新、删除、脱管等...
标题“Hibernate基础和入门:新建表和插入表”表明这篇内容将主要围绕Hibernate这一Java持久化框架的基础知识展开,重点讲解如何使用Hibernate创建数据库表以及进行数据插入操作。Hibernate是一个强大的ORM(对象...
Hibernate提供了批量插入、更新和删除的方法,如`Session.saveOrUpdateAll()`和`Session.deleteAll()`,可以提高数据处理效率。 10. **查询优化** - 使用HQL或Criteria API而非原生SQL,以利用Hibernate的查询...
这个“Hibernate框架jia包”包含了你需要在项目中使用Hibernate的所有核心库和依赖,确保你能顺利进行数据库操作。 1. **什么是Hibernate**: Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化数据...
它通过提供一套API和元数据配置,使得开发者能够通过对象的方式来处理数据库操作,如查询、插入、更新和删除等,避免了编写大量重复的SQL代码。 二、Hibernate核心组件 1. Session: Hibernate的核心接口,负责与...
- 增加:在保存父实体时,可以同时保存其关联的子实体,Hibernate会自动处理子实体的插入操作。对于多对一关系,只需要在父实体中设置子实体的引用即可。 - 查询:可以通过HQL(Hibernate Query Language)或者 ...
在这个项目中,Hibernate被用来管理雇员和部门两个数据库表,实现CRUD(创建、读取、更新、删除)操作。 在实现"增删改,分页操作"时,有以下关键点: - **增删改操作**:通过Hibernate的Session接口进行。新建...
10. **批处理操作**:通过设置批处理大小,Hibernate可以优化批量插入、更新和删除的性能,减少与数据库的交互次数。 11. **JPA支持**:虽然Hibernate最初是一个独立的ORM框架,但在3.5版本中,它也兼容Java ...
在上述代码中,我们看到了四个核心的 Hibernate 操作:插入(insert)、删除(delete)、更新(update)以及查询(select),这些都是在数据库操作中非常基础且重要的功能。 1. **插入(insert)**: `insert` ...