Hibernate中的CRUD操作

1、添加数据操作

    插入数据使用session对象的save()方法完成。

     插入代码:

    @Test
    public void Test1(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();

        Transaction tx = session.beginTransaction();

        UserEntity user = new UserEntity();
        user.setName("jack");
        user.setPwd("123");
        user.setScore(98.5f);

        session.save(user);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

2、根据id查询数据

    根据id查询数据需要使用session对象的get()方法完成

      查询代码:

  

    @Test
    public void Test2(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * get方法参数说明:
         * 第一个参数:数据表对于的实体类的class
         * 第二个参数:需要查询的id
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

3、修改数据操作

    修改数据要分两步完成,第一步:根据id将该数据查询出来。第二步:修改该实体的属性值。第三步:使用session的update()方法进行修改数据。

    代码如下:

    

@Test
    public void Test3(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * update方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        userEntity.setName("lilei");
        session.update(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

四、删除数据操作

    删除数据有两种方式:

      第一种:先将数据查询出来,然后使用session的delete方法进行数据删除。

      代码:

@Test
    public void Test4(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * delete方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity userEntity =session.get(UserEntity.class, 1);
        session.delete(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }

    第二种:直接new一个实体对象,设置id值,然后调用删除。(不推荐)

    

@Test
    public void Test5(){
        SessionFactory sessionFactory = HibernateUtils.getFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        /**
         * delete方法参数说明:
         * 第一个参数:数据表对于的实体类
         */
        UserEntity  userEntity = new UserEntity();
        userEntity.setUid(1);
        session.delete(userEntity);
        System.out.println(userEntity);
        tx.commit();
        session.close();
        sessionFactory.close();
    }
时间: 2024-07-31 12:57:48

Hibernate中的CRUD操作的相关文章

Hibernate对象的CRUD操作

1.  Hibernate对象的CRUD操作 1.1.  对象的三种状态 瞬时(Transient) - 由new操作符创建,且尚未与HibernateSession 关联的对象被认定为瞬时(Transient)的.瞬时(Transient)对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier).如果瞬时(Transient)对象在程序中没有被引用,它会被垃圾回收器(garbage collector)销毁.使用Hibernate Session可以将其变为持久(Persis

Hibernate 中对表的操作

Hibernate CRUD testing Hibernate 中对表的操作, add,load,update,delete,list,pager(分页) package org.test.test; import java.text.SimpleDateFormat; import java.util.List; import org.hibernate.Session; import org.junit.Test; import org.zttc.itat.model.User; impo

Spring+Jersey+JPA+Hibernate+MySQL实现CRUD操作案例

本文承接我的另一篇博文:Spring+Jersey+Hibernate+MySQL+HTML实现用户信息增删改查案例(附Jersey单元测试),主要更改内容如下: Spring配置文件applicationContext中原先使用的是Hibernate,现在改为Hibernate对JPA的支持: 增加了C3P0连接池: 修改了Dao操作实现,改为Spring接管的JPA实现. 如果读者想详细查看Spring整合Jersey与前端交互可以点击上述连接.本文主要介绍以上三处修改内容,并且使用Jers

用dbutils和hibernate分别实现CRUD操作

=====================用dbutils实现CRUD操作======================== 1.bean: Teacher.java package beans; public class Teacher { String id; String tname; String tage; //setter.getter @Override public String toString() { return "Teacher [id=" + id + &quo

hibernate入门(1) - CRUD操作

第一步:hibernate的配置文件 hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate

linq to sql 三层架构中使用CRUD操作

/// <summary> /// 数据层 /// </summary> public partial class GasBottles : IGasBottles { #region IGasBottles 成员 public Model.GasBottles GetModel(int gasBottlesID) { var db = DbContext.LGSCMSDataContext; try { var gs = db.GasBottles.FirstOrDefault(

MongoDB的CRUD操作

1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的增删改查操作,不同于我们熟悉的关系数据库中的操作.在关系数据库中,比如MySQL,我们通常使用SQL语句对数据库进行增(INSERT)删(DELETE)改(UPDATE)查(SELECT).MongoDB在对数据进行操作过程中,使用的是Document进行数据操作.在对数据库进行操作的时候,使用Do

Spring MVC + Hibernate + Maven: Crud操作示例

Alexey是一个在使用Java,TestNG 和Selenium的自动化WEB应用程序中有丰富经验的测试开发者.他如此的喜欢QA以至于在下班后他为初级QA工程师提供培训课程. 在这篇文章中我想介绍一个Spring MVC + Hibernate + Maven例子.这组技术主要涉及一些基础知识,我想在每一个必要的地方详细解释它.本篇话题范围以外的更多资源,我会提供链接方便你阅读.在文章的最后,我将发布一个GitHub的链接. 目标 示例web应用程序是基于Spring MVC, Hiberna

hibernate的CRUD操作

本文简单总结一下hibernate的具有映射关系CRUD操作,主要使用到了cascade和fetch,其中cascade针对的是CUD操作,表示级联关系,fetch针对的是R操作,表示级联加载方式. 1.先看下javaEE的API中关于cascade的描述 javax.persistence Enum CascadeType java.lang.Object java.lang.Enum<CascadeType> javax.persistence.CascadeType All Implem