import org.hibernate.Query;
import tt.TUser;
import tt.TUserDAO;
public class Delete {
public static void main(String[] args)//主方法,用于运行二个删除操作的方法
{
//Delete.deleteOne(13);
//Delete.deleteTwo(10);
//Delete.deleteThree();//没成功
}
public static void deleteOne(int id)//第一个操作方法
{
TUserDAO dao=new TUserDAO();//创建一个TUser dao的实例
org.hibernate.Transaction tx=dao.getSession().beginTransaction();//开始一个事务
TUser user =new TUser();
user=(TUser)dao.getSession().get(TUser.class, id);//跟据ID取得一个对象
dao.getSession().delete(user);//删除这个对象
tx.commit();//提交事务
dao.getSession().close();关闭session
System.out.println("Delete");
}
public static void deleteTwo(int id)//第二个操作方法
{
TUserDAO dao=new TUserDAO();
org.hibernate.Transaction tx=dao.getSession().beginTransaction();//开始一个事务
Query query = dao.getSession().createQuery("delete from TUser where IId=?");
//跟据条件生成HQL语句
query.setInteger(0, id);//设定条件参数
query.executeUpdate();执行语句
tx.commit();//提交事务
dao.getSession().close();关闭session
System.out.println("Delete");
}
}
这是用hibernate做的简单删除操作.其中,TUser类是表对应的POJO类,TUserDAO是TUser的dao类,也就是它的操作类.
分享到:
相关推荐
Hibernate本身提供了一种批量删除的方式,但由于它是逐条执行删除操作的,因此当数据量较大时,效率会受到影响。为了解决这一问题,Hibernate提供了对JDBC的支持,使得开发者能够利用JDBC的批量处理能力来优化批量...
在本文中,我们将深入探讨如何在MyEclipse中配置并使用Hibernate进行数据库操作。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者通过Java对象来操作数据库,避免了直接编写SQL语句的繁琐过程。 首先...
Hibernate是Java领域中一款广泛应用的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,大大简化了数据库编程。在Hibernate中,级联操作(Cascading Operations)是一种高级特性,它使得对象...
3. **提交事务**:和添加数据一样,删除操作也需要在事务中进行,所以记得提交事务。 在实际应用中,为了提高性能和防止脏读,通常会使用批处理操作,比如批量添加或删除。此外,还可以利用Criteria或HQL...
接下来,我们需要一个提交按钮来触发删除操作。当用户点击这个按钮时,JSF会调用后端的Managed Bean方法,该方法负责执行删除逻辑。在Bean中,我们可以使用Hibernate的Session接口来实现这一操作。以下是一个简单的...
删除操作通常是根据ID查找对象,调用Session的delete方法;更新数据则是先查询出对象,修改属性,再调用Session的update方法。 5. **整合Struts2与Hibernate**:整合两个框架时,需要在Struts2的配置文件中定义...
在批量删除操作中,Struts2会接收用户的批量删除请求,通过Action类来处理这些请求,并将结果转发到相应的视图页面。Action类通常会注入Spring管理的业务服务层,以便调用删除方法。 其次,Hibernate是一个对象关系...
- 使用批处理:批量处理多个保存、更新或删除操作,以减少数据库交互次数。 - 适当使用懒加载和立即加载:避免加载不必要的关联对象,减小内存开销。 - 优化HQL和SQL:避免全表扫描,利用索引,减少子查询。 ...
以下是对"Hibernate操作数据库的步骤"的详细解释: 1. **读取并解析配置文件**:在Hibernate中,配置文件(通常是`hibernate.cfg.xml`)包含了数据库连接信息,如URL、用户名、密码等。`Configuration`类用于加载这...
上述代码展示了Hibernate在插入更新和删除操作时的基本流程。在实际应用中,开发者需要根据具体的业务逻辑和需求来调整代码,例如,在插入更新操作时,可能需要根据主键是否已存在来决定是插入新记录还是更新现有...
**Hibernate简介** Hibernate是一个强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得...`testHiberbateJava`项目就是一个很好的学习资源,通过实际操作,你可以更深入地理解Hibernate的CRUD操作。
- 删除操作同样如此,如果设置了`CascadeType.REMOVE`,删除父实体时,其关联的子实体会被一同删除。 4. **示例代码** - 在这个"TestHibernateCascade"项目中,可能会有一个`Department`类代表父类,包含一个`...
这可能包括实体类的定义、配置文件的设置、会话工厂的创建、数据的CRUD操作(创建、读取、更新、删除)等关键概念。 **文件名称"StructsAndHibernateTest2"** 文件名"StructsAndHibernateTest2"暗示了可能是一个...
通过运行`Main`类,你可以看到如何使用封装后的操作来创建、查询、更新和删除User对象,从而验证你的Hibernate环境是否配置正确。 总之,搭建Hibernate环境并进行基本操作封装是Java开发中的常见任务。通过理解并...
使用Hibernate的Session对象操作数据库 1.初始化Hibernate:在要使用Hibernate的类的方法中实例化Configuration对象并用Configuration对象的configure()方法将hibernate.cfg.xml中的配置加载到内存,即: ...
然而,在处理大量数据时,如何有效地进行批量更新和批量删除操作,是每一个开发者都可能遇到的挑战。本文将深入探讨在Hibernate中处理批量更新和批量删除的策略,以及如何优化这些操作,以提高数据库操作的效率。 #...
在本项目中,Hibernate被用来执行图书数据的CRUD(创建、读取、更新、删除)操作,通过配置文件定义实体类与数据库表的映射,然后通过SessionFactory和Session对象进行数据交互。 **整合SSH** SSH整合的关键在于...
本文将深入探讨如何在Hibernate中处理Many-to-Many关系的级联保存、级联更新和级联删除。 一、Many-to-Many关系基础 在数据库设计中,Many-to-Many关系意味着两个实体之间存在多对多的关系。例如,学生可以选修多门...
`hibernate.hbm2ddl.auto`可以设置为"create-drop"、"create"、"update"或"validate",分别对应在启动时创建/删除数据库结构、创建数据库结构、更新数据库结构或验证数据库结构。 3. **HQL(Hibernate Query ...
4. 操作对象:通过Session的save()、update()、delete()方法,可以完成对象的保存、更新和删除操作。使用get()和load()方法检索对象,使用Criteria或HQL查询对象集合。 5. 提交事务:在一组数据库操作完成后,使用...