Hibernate插入、查询、删除操作 HQL (转)
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;
}
|
转载于:https://blog.51cto.com/2044575/385248
Hibernate插入、查询、删除操作 HQL (转)相关推荐
- 多表(三个表)插入与删除操作
业务需求: 新增和删除分类信息,以category为主表,category_detail和image为副表,在不额外编写Sql.mapper.xml文件的前提下,利用mybatis-plus中的内置函 ...
- c语言二叉排序树的创建与查找,C语言实现二叉查找树的插入和删除操作问题求教...
使用C语言实现二叉查找树的插入和删除操作,但在 return searchBST( T->rchild, val, f, p);出错.这里应该使用了双指针,求教应该怎么改才正确. /* +--- ...
- 彻底理解面试难点之rb-tree(红黑树)续--对红黑树的插入和删除操作的一些理解!!!
这里主要讲一下对红黑树的插入和删除操作的一些理解 对于红黑树的一些相关性质的介绍,上篇已经讲了,这里不再介绍,有需要了解的,可以翻前面的博客看看. 1.红黑树的插入操作 对于红黑树的元素插入,我们首先 ...
- c语言链表的插入 查询 删除
c语言实验十五链表 链表的插入 查询 删除, 不会吧,来看看月腾兄的: #include<stdio.h> #include<stdlib.h> struct node {in ...
- 本科课程【数据结构与算法】实验1——线性表的顺序表示及插入、删除操作(C++实现)
大家好,我是[1+1=王], 热爱java的计算机(人工智能)渣硕研究生在读. 如果你也对java.人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never ...
- 数据结构单链表插入和删除操作
单链表:先回顾单链表的特点 逻辑相邻 物理上不一定相连 首先初始化单链表,其中主要保存的是该节点自身的值以及下个节点的地址. 有效节点结构体设计: struct Node{ int data ...
- 如何实现双向链表的插入、删除操作
如何实现双向链表的插入.删除操作 循环单链表的出现,虽然能够实现从任一结点出发沿着链能找到其前驱结点,但是时间复杂度为O(N).如果希望能从链表中快速确定某一个结点的前驱,另一个解决方法就是在单链表的 ...
- 数据结构—线性表顺序存储插入和删除操作
线性表的操作:1.InitList(*L):初始化操作,建立一个空的线性表L 2.ListEmpty(L):判断线性表是否为空,如果为空,返回true,否则返回false 3.ClearList(*L ...
- 红黑树及其插入、删除操作
在二叉搜索树中,基本操作如结点的插入.删除.查找的性能上界都得不到保证,原因在于二叉搜索树的构造依赖于其结点值的插入顺序,最坏情况下二叉搜索树会退化为单链表(如下图所示).因此我们需要对二叉搜索树做出 ...
- 顺序表的插入和删除操作
C语言线性表的插入和删除操作 C语言数据结构的学习之线性表的插入与删除操作 C语言线性表的插入和删除操作 一.插入操作 插入操作的时间复杂度分析: 二.删除操作 删除操作的时间复杂度分析: 查找操作 ...
最新文章
- chapter 15 运算符详解
- vue-router 路由跳转
- 5渲染判断_云渲染怎么收费,5大云渲染平台实测,您选对了吗?
- Teamviewer
- UCI数据集(论文常用数据集)
- 大一上计算机期末试题,大一计算机期末考试试题及答案
- python的cvtcolor_Python cv.CvtColor方法代碼示例
- Codeforces Gym 100015G Guessing Game 差分约束
- 如何进入华为P40 debug 模式/开发者选项模式
- 用java编写圆锥_用java中的graphics画圆锥的代码
- 免费的桌面主题按钮 V1.0
- 七牛云绑定解析阿里域名
- EuroSys'14 会议记录
- html5安卓机判断刘海屏,Android判断是否为刘海屏
- linux下查看服务器的cpu、内存大小、硬盘大小
- 互联网日报 | 蔚来发布官方二手车业务;去哪儿2020年实现全年盈利;港交所正式换帅...
- 「绩效面谈」精选文章合集
- 【互动多媒体】应用形式(二)体感换装/虚拟试衣
- OpenTsdb官方文档中文版----聚合器
- 第2章 人员安全和风险管理的概念
热门文章
- appscan如何进行web端安全性测试_如何进行WEB安全性测试?
- 学生选课系统代码-4c【interface】视图层代码【MVC--c】代码
- 如何更改mssq,SSAS l代理运行身份验证
- 没有文化可以学php吗,宋威龙深夜发文感慨,却被吐槽文化低,学历真的重要吗?...
- js数组指定位置添加元素_34. 在排序数组中查找元素的第一个和最后一个位置(难度:中等)
- 华为路由器配置文件备份与恢复
- 深入理解Java虚拟机(五)之Class类文件的底层结构
- 戴尔服务器从东芝处获得闪存助力
- 解决 xshell 上面 zsh 的 home end 无效问题
- 网页中,列表数据的分页加载、自动加载