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)优点:有缓存,而且是二级缓存: ...
随机推荐
- 「HNOI 2014」米特运输
题目链接 戳我 \(Describe\) 谁出的题目啊?这么长的题面,看完就滚粗了.强烈谴责 给一棵树,每个点有一个权值,要求修改一些权值,使: 一个点的权值必须是其所有儿子的权值之和 一个点的儿子权 ...
- Jenkins 主题分享
写在前面的话 Jenkins 现在是我使用的最多的 CI/CD 工具,但是一直无法接受他的前端,于是闲暇之余查了一些关于 Jenkins 更换样式的方法,于是自己给他写了个套子,感兴趣的老哥以下是项目 ...
- 原生态js回顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- “全栈2019”Java第七十七章:抽象内部类与抽象静态内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 解决winform datagridview的ClearSelection无效问题
因为把方法放在了界面的构造方法里,此时datagridview还没绘制出来,所以ClearSelection方法无效,放在control或form的load方法里就没问题了 参考:https://ww ...
- 洛谷P4337 [ZJOI2018]线图(状压+搜索+乱搞)
题面 传送门 题解 妈呀调了我整整一天-- 题解太长了不写了可以去看\(shadowice\)巨巨的 //minamoto #include<bits/stdc++.h> #define ...
- CRC循环冗余校验算法
现实中通信链路都不会是理想的,比特在传输的过程中可能会出现差错,0变成1,1变成0.这就叫做比特差错.因此为了保证数据传输的可靠性,在计算网络传输数据时,必须采用各种检验措施来处理比特差错.在数据链路 ...
- eclipse项目目录展示结构设置
我因为前后端都搞过, 解除过很多的开发IDE,说真的,很多的项目目录结构都是一级一级分开,然后我可以通过展开等操作来查看文件等资源信息,结果呢?java的开发IDE eclipse默认的项目目录展示简 ...
- Angular material mat-icon 资源参考_Av
ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...
- PIE SDK组件式开发综合运用示例
1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...