`
zhangfeilo
  • 浏览: 399943 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

Hibernate 插入,修改,删除,查询语句

阅读更多

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;

   }


分享到:
评论

相关推荐

    hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate

    批处理是 Hibernate 中一种提高性能的方法,特别是在进行大量数据的插入、更新或删除时尤为明显。 - **默认行为** - 默认情况下,Hibernate 每次执行一条 SQL 语句后都会自动提交事务。 - **批量处理** - 可以...

    使用p6spy完整显示hibernate的SQL语句

    1. **SQL日志**:p6spy能够详细记录SQL语句的执行,包括查询、更新、插入和删除等,这对于调试和性能分析非常有帮助。 2. **性能分析**:p6spy可以记录每个SQL语句的执行时间,帮助我们找出数据库性能瓶颈。 3. **...

    Hibernate中查询的法方

    Hibernate会自动执行相应的删除SQL语句。 4. **更新(AttachDirty)** `attachDirty()`方法用于更新已存在的数据库记录。当传递给此方法的实体对象已经存在于数据库中但属性有所更改时,Hibernate会识别这些变化并...

    hibernate_flush 深入了解

    1. **对象状态检查**:Hibernate会检查Session中的所有对象,判断它们是否需要被更新、插入或删除。这包括对持久化对象的脏检查,即比较对象的当前状态和上次持久化时的状态。 2. **生成SQL语句**:根据对象的状态...

    Hibernate5.2.11高清版,最新版本

    原生SQL查询(Native SQL Queries)部分讲解了如何在Hibernate中执行原生SQL语句,并且如何处理查询结果。 空间查询(Spatial)描述了如何在Hibernate中处理空间数据和执行空间查询。 多租户(Multitenancy)讨论...

    操作Hibernate类:增加,删除,修改及查询.pdf

    使用HQL(Hibernate Query Language)编写SQL查询语句,例如`"FROM Person as p WHERE p.id = ?"`。设置参数,`q.setString(0, id)`,执行查询并获取结果列表。遍历结果集,将第一个元素转换为`Person`对象并返回。...

    hibernate视频

    - **批量更新/删除**:使用SQL语句或HQL进行批量操作。 #### 5.3 懒加载与立即加载 - **懒加载**:默认情况下,Hibernate在需要时才加载关联对象的数据。 - **立即加载**:在加载当前对象时立即加载其关联对象的...

    Hibernate3教程

    - 编写INSERT语句来插入新的记录。 - **3.2.4 修改** - 使用UPDATE语句来修改现有的记录。 - **3.2.5 删除** - 通过DELETE语句删除记录。 - **3.3 使用HQL** - **3.3.1 HQL是什么** - HQL(Hibernate Query ...

    传智Hibernate框架资料

    Hibernate是一个强大的Java持久层框架,它提供了对象关系映射(ORM)功能,使得开发者可以使用面向对象的方式来操作数据库,避免了繁琐的SQL语句编写。在Java应用中,Hibernate极大地简化了数据库操作,使得开发更加...

    Hibernate 简单入门讲解一(简单的数据插入讲解)

    **Hibernate 简单入门讲解一:简单的数据插入讲解** Hibernate 是一款强大的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了Java应用程序中的数据库操作。在这个简单入门讲解...

    hibernate实战 第2版.pdf

    Hibernate也提供了一个名为Criteria API的查询方式,它是一个面向对象的查询接口,允许开发者通过编码的方式构建查询,而不是写字符串形式的查询语句,这使得 Criteria API成为类型安全的查询构建方式。 在实际的...

    Hibernate曾删改查接口实现

    首先,我们需要从数据库中获取到要删除的对象,然后调用delete()方法,Hibernate会自动执行对应的DELETE SQL语句。 **4. 修改(Update)** 更新数据则通过Session的update()方法完成。当我们修改了一个持久化对象的...

    基于hibernate的简单数据库实现

    Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务,使得开发人员可以避免编写大量的SQL语句,从而更加专注于业务逻辑。通过Hibernate,我们可以将Java对象与数据库中的表...

    Hibernate的四种典型例子(增删改查)

    然后,使用`createQuery`方法执行一个HQL(Hibernate Query Language)查询语句,其中`from Info where id=:id`指定了查询条件,即从`Info`表中查找`id`为1的记录。通过`setInteger`方法设置查询参数,然后调用`list...

    Hibernate入门教程.pdf

    2. **对象状态的跟踪**:ORM框架会跟踪对象的状态变化,如新增、修改或删除,并自动执行相应的数据库操作。 3. **事务管理**:ORM框架通常提供了内置的事务管理功能,以确保数据操作的完整性和一致性。 #### 五、...

    hibernate数据包

    - 执行操作:在Session中执行CRUD操作,包括查询、插入、更新和删除。 - 提交事务:对数据库的所有更改进行提交或回滚。 6. Hibernate的其他功能: - HQL(Hibernate Query Language):面向对象的查询语言,...

    hibernate多对多关联映射

    通过阅读源码,我们可以了解到Hibernate如何处理中间表的插入、更新和删除操作。 六、工具支持 在开发过程中,IDE如IntelliJ IDEA和Eclipse提供了很好的Hibernate支持,可以自动生成关联映射代码和SQL语句,帮助...

    Hibernate学习.pdf

    - **修改持久对象**: 直接修改对象的状态,Hibernate会自动同步到数据库。 - **修改脱管(DETACHED)对象**: 需要重新加载或使用Session的persist方法将其变为持久状态。 - **自动状态检测**: Hibernate能够自动检测...

    常见hibernate面试题.doc

    - **本地SQL**:直接使用数据库的SQL语句进行查询。这种方式适用于那些HQL或QBC无法满足的复杂查询场景。 #### 2. `load()`和`get()`的区别 - **`load()`**:此方法主要用于加载对象。如果数据库中不存在指定ID的...

Global site tag (gtag.js) - Google Analytics