2008-03-13 12:03
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 (转)相关推荐

  1. 多表(三个表)插入与删除操作

    业务需求: 新增和删除分类信息,以category为主表,category_detail和image为副表,在不额外编写Sql.mapper.xml文件的前提下,利用mybatis-plus中的内置函 ...

  2. c语言二叉排序树的创建与查找,C语言实现二叉查找树的插入和删除操作问题求教...

    使用C语言实现二叉查找树的插入和删除操作,但在 return searchBST( T->rchild, val, f, p);出错.这里应该使用了双指针,求教应该怎么改才正确. /* +--- ...

  3. 彻底理解面试难点之rb-tree(红黑树)续--对红黑树的插入和删除操作的一些理解!!!

    这里主要讲一下对红黑树的插入和删除操作的一些理解 对于红黑树的一些相关性质的介绍,上篇已经讲了,这里不再介绍,有需要了解的,可以翻前面的博客看看. 1.红黑树的插入操作 对于红黑树的元素插入,我们首先 ...

  4. c语言链表的插入 查询 删除

    c语言实验十五链表 链表的插入 查询 删除, 不会吧,来看看月腾兄的: #include<stdio.h> #include<stdlib.h> struct node {in ...

  5. 本科课程【数据结构与算法】实验1——线性表的顺序表示及插入、删除操作(C++实现)

    大家好,我是[1+1=王], 热爱java的计算机(人工智能)渣硕研究生在读. 如果你也对java.人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never ...

  6. 数据结构单链表插入和删除操作

    单链表:先回顾单链表的特点  逻辑相邻 物理上不一定相连 首先初始化单链表,其中主要保存的是该节点自身的值以及下个节点的地址. 有效节点结构体设计: ​ struct Node{ ​ int data ...

  7. 如何实现双向链表的插入、删除操作

    如何实现双向链表的插入.删除操作 循环单链表的出现,虽然能够实现从任一结点出发沿着链能找到其前驱结点,但是时间复杂度为O(N).如果希望能从链表中快速确定某一个结点的前驱,另一个解决方法就是在单链表的 ...

  8. 数据结构—线性表顺序存储插入和删除操作

    线性表的操作:1.InitList(*L):初始化操作,建立一个空的线性表L 2.ListEmpty(L):判断线性表是否为空,如果为空,返回true,否则返回false 3.ClearList(*L ...

  9. 红黑树及其插入、删除操作

    在二叉搜索树中,基本操作如结点的插入.删除.查找的性能上界都得不到保证,原因在于二叉搜索树的构造依赖于其结点值的插入顺序,最坏情况下二叉搜索树会退化为单链表(如下图所示).因此我们需要对二叉搜索树做出 ...

  10. 顺序表的插入和删除操作

    C语言线性表的插入和删除操作 C语言数据结构的学习之线性表的插入与删除操作 C语言线性表的插入和删除操作 一.插入操作 插入操作的时间复杂度分析: 二.删除操作 删除操作的时间复杂度分析: 查找操作 ...

最新文章

  1. chapter 15 运算符详解
  2. vue-router 路由跳转
  3. 5渲染判断_云渲染怎么收费,5大云渲染平台实测,您选对了吗?
  4. Teamviewer
  5. UCI数据集(论文常用数据集)
  6. 大一上计算机期末试题,大一计算机期末考试试题及答案
  7. python的cvtcolor_Python cv.CvtColor方法代碼示例
  8. Codeforces Gym 100015G Guessing Game 差分约束
  9. 如何进入华为P40 debug 模式/开发者选项模式
  10. 用java编写圆锥_用java中的graphics画圆锥的代码
  11. 免费的桌面主题按钮 V1.0
  12. 七牛云绑定解析阿里域名
  13. EuroSys'14 会议记录
  14. html5安卓机判断刘海屏,Android判断是否为刘海屏
  15. linux下查看服务器的cpu、内存大小、硬盘大小
  16. 互联网日报 | 蔚来发布官方二手车业务;去哪儿2020年实现全年盈利;港交所正式换帅...
  17. 「绩效面谈」精选文章合集
  18. 【互动多媒体】应用形式(二)体感换装/虚拟试衣
  19. OpenTsdb官方文档中文版----聚合器
  20. 第2章 人员安全和风险管理的概念

热门文章

  1. appscan如何进行web端安全性测试_如何进行WEB安全性测试?
  2. 学生选课系统代码-4c【interface】视图层代码【MVC--c】代码
  3. 如何更改mssq,SSAS l代理运行身份验证
  4. 没有文化可以学php吗,宋威龙深夜发文感慨,却被吐槽文化低,学历真的重要吗?...
  5. js数组指定位置添加元素_34. 在排序数组中查找元素的第一个和最后一个位置(难度:中等)
  6. 华为路由器配置文件备份与恢复
  7. 深入理解Java虚拟机(五)之Class类文件的底层结构
  8. 戴尔服务器从东芝处获得闪存助力
  9. 解决 xshell 上面 zsh 的 home end 无效问题
  10. 网页中,列表数据的分页加载、自动加载