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("");
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();
}
Hibernate中的CRUD操作的更多相关文章
- hibernate Session的CRUD操作
使用Session里面的方法进行CRUD操作 (1) 增加 save 方法 (2) 查找 get 方法(根据id查) (3) 修改 update 方法 (4) 删除 delete 方法 1.增加 /* ...
- [原创]关于Hibernate中的级联操作以及懒加载
Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...
- Hibernate中的Sesson操作
一.Session概述 Session是应用程序与数据库之间的一个会话,是Hibernate运作的中心,持久层操作的基础,相当于JDBC中的Connection.Session对象是通过Session ...
- linq to sql 三层架构中使用CRUD操作
/// <summary> /// 数据层 /// </summary> public partial class GasBottles : IGasBottles { #re ...
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- 【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API
原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 ...
- Asp.Net Web API 2(CRUD操作)第二课
Asp.Net Web API 2(CRUD操作)第二课 Asp.Net Web API 导航 Asp.Net Web API第一课:入门http://www.cnblogs.com/aehyok ...
- 如何理解Hibernate中的HibernateSessionFactory类
package com.zz.util; import org.hibernate.HibernateException; import org.hibernate.Session; import o ...
- 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】
一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...
随机推荐
- Mathcad操作tips:算式输入、变量定义与计算
算式输入 1. 数字与符号相乘,输入时不必手动输入乘号(“*”). 2. 以下有助于算式的可视化:a. 使用Math工具栏输入,并合理使用tab键:b. 合理使用空格键. 3. 输入开根号时,可用快捷 ...
- (zxing.net)一维码Code 39的简介、实现与解码
一.简介 一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的 ...
- micropython esp8266 烧录
MicroPython 介绍 MicroPython 是一个 Python 3 语言的精简.高效实现,其包括 Python 标准库的一小部分,并经过优化,可以运行在微控制器和受限环境中运行. Micr ...
- db事务级别及锁
相关sql 事务A BEGIN TRANSACTION --执行修改 获取排他锁 UPDATE Product SET Price = 10 WHERE Id = 1 --阶段2 UPDATE Pro ...
- .NET CORE 2.1 导出excel文件的两种方法
最近在做 MVC 项目的时候遇到项目的导出,下面总结下两种导出到excel 的方法 第一种方法: 将文件写到本地,然后返回这个File 或者返回这个 File 的绝对地址 其中 _hostingE ...
- 读取二元组列表,打印目录的层级结构-----C++算法实现
要求是--某个文件中存储了一个最多3层的层级结构,其中每个元素都是一个自然数,它的存储方法是一个二元组的列表,每个二元组的形式为:(元素,父元素).现在希望能够通过读取该二元组列表,打印出目录的层级结 ...
- CAS客户端整合(一) Discuz!
有好几个系统需要接入CAS,所以登录模块统统需要重构 版本 CAS服务端是Java的 Cas-server-4.0 CAS的php客户端 是 phpCAS-1.2.0 论坛版本是 Discuz!X3. ...
- bzoj1801中国象棋
题目链接 很裸的$dp+$组合计数 注意 注意 注意 $BZOJ$不要用玄学优化 $CE$不管$qwq$ /********************************************** ...
- POJ3321 Apple Tree (JAVA)
树形数组题,有一定难度. 首先得搞清楚树形数组是什么 - 它是建立在原始数组上的统计数组 - 目的:方便对原始数组进行切片统计,主要用于统计切片的累加和 其实你可以对切片进行扫描,把元素一个一个加起来 ...
- 条目二十二《切勿修改set或multiset的键》
条目二十二<切勿修改set或multiset的键> 所有的标准关联容器一样,set和multiset按照一定的顺序来存放自己的元素,而这些容器的正确行为也是建立在其元素保持有序的基础之上的 ...