Hibernate_day02--Hibernate事务操作_api使用
Hibernate事务操作
事务相关概念
|
1 什么是事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败。最典型的场景:银行转账 2 事务特性 原子性 一致性 隔离性 持久性 3 不考虑隔离性产生读问题 (1)脏读 (2)不可重复读 (3)虚读 4 设置事务隔离级别 (1)mysql默认隔离级别 repeatable read |
Hibernate事务代码规范写法
|
1 代码结构 try { 开启事务 提交事务 }catch() { 回滚事务 }finally { 关闭 } /** |
Hibernate绑定session
|
1 session类似于jdbc的connection,之前web阶段学过 ThreadLocal,与本地线程绑定 2 框架帮实现与本地线程绑定session 3 获取与本地线程session (1)在hibernate核心配置文件中配置
(2)调用sessionFactory里面的方法得到
sessionFactory不用自己关闭了 4 获取与本地线程绑定session时候,关闭session报错,不需要手动关闭了
|
Hibernate的api使用
Query对象
|
1 使用query对象,不需要写sql语句,但是写hql语句 (1)hql:hibernate query language,hibernate提供查询语言,这个hql语句和普通sql语句很相似 (2)hql和sql语句区别: - 使用sql操作表和表字段 - 使用hql操作实体类和属性 2 查询所有hql语句: (1)from 实体类名称 3 Query对象使用 (1)创建Query对象 (2)调用query对象里面的方法得到结果 public class HibernateQueryData {
|
Criteria对象
|
1 使用这个对象查询操作,但是使用这个对象时候,不需要写语句,直接调用方法实现 2 实现过程 (1)创建criteria对象 (2)调用对象里面的方法得到结果 //使用Criteria对象
|
SQLQuery对象
|
1 使用hibernate时候,调用底层sql实现 2 实现过程 (1)创建对象 (2)调用对象的方法得到结果 //使用SQLQuery对象
返回list集合每部分是数组
返回list中每部分是对象形式
|
Hibernate_day02--Hibernate事务操作_api使用的更多相关文章
- (转)Hibernate事务管理
Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改时受到用户干扰.作为一名软件设计 ...
- hibernate事务
hibernate事务 9.3 Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改 ...
- Hibernate事务与并发问题处理(乐观锁与悲观锁)
目录 一.数据库事务的定义 二.数据库事务并发可能带来的问题 三.数据库事务隔离级别 四.使用Hibernate设置数据库隔离级别 五.使用悲观锁解决事务并发问题 六.使用乐观锁解决事务并发问题 Hi ...
- SpringBoot JPA实现增删改查、分页、排序、事务操作等功能
今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查.分页.排序.事务操作等功能.下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and ...
- hibernate 事务理解
简介: Hibernate本身并不具备事务管理能力 .在事务管理层, Hibernate将其委托给底层的JDBC或者JTA ,以实现事务管理和调度功能. Hibernate的默认事务处理机制基于JDB ...
- Spring事务操作介绍
Spring的特色之一,简单而强大的事务管理功能,包括编程式事务和声明式事务. 1. Spring中涉及到事务管理的API有100多个,核心的只有三个: TransactionDefinition.P ...
- spring学习(三) ———— spring事务操作
前面一篇博文讲解了什么是AOP.学会了写AOP的实现,但是并没有实际运用起来,这一篇博文就算是对AOP技术应用的进阶把,重点是事务的处理. --wh 一.jdbcTemplate 什么是JdbcTem ...
- Hibernate事务以及一级缓存02
一. Hibernate中的事务 1. 事务的回顾 1.1 什么是事务(Transaction)(面试重点) 是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的 ...
- Spring 中的事务操作、注解、以及 XML 配置
事务 事务全称叫数据库事务,是数据库并发控制时的基本单位,它是一个操作集合,这些操作要么不执行,要么都执行,不可分割.例如我们的转账这个业务,就需要进行数据库事务的处理. 转账中至少会涉及到两条 SQ ...
随机推荐
- Linux命令-文件处理命令:ln
ln -s /etc/issue /tmp/issue.soft 为这个/etc/issue文件创建一个软连接,名称为/tmp/issue.soft(相当于windows里面给/etc/issue文件 ...
- 摘:数据结构各种算法实现(C++模板)
目 录 1.顺序表. 1 Seqlist.h 1 Test.cpp 6 2.单链表. 8 ListNode.h 8 SingleList.h 10 test.cpp 20 3.双向链表. 22 No ...
- VC++编写ActiveX控件
ActiveX这门技术是通过生成“*.ocx”文件来实现的.先来了解下OCX文件,在百度百科上面对OCX是这样解释的:“.ocx是ocx控件的扩展名,OCX 是对象类别扩充组件.如果你用过Visual ...
- django Multi-table inheritance ---- 用于实现基表-子表
SQL中的父子表.在django中可以直接通过模式的继承来完成! 一.django中的model定义如下: 1.django定义 from django.db import models # Crea ...
- unity, ugui button 禁止重复点击
如上图,button名称为btn_sim,当点击button后,开始播放zoomToTarget动画.为了防止在动画播放过程中再次点击button导致动画被打断,希望当首次点击button后butto ...
- 玩转Linux文件描述符和重定向
本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...
- atitit.解决SyntaxError: missing ] after element list"不个object 挡成个str eval ....
atitit.解决SyntaxError: missing ] after element list"不个object 挡成个str eval .... 1. 原因::: 不个object ...
- Codeforces Round #235 (Div. 2) C. Team
C. Team time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- <unistd.h>的close(0)导致std::cout被关闭
代码如下:其中ZJ::open_max返回系统允许的打开的文件的最大个数 #include "util.h" #include <unistd.h> // int cl ...
- Ubuntu打开core dump
输入ulimit -a 如果core file size为0,那就说明没有打开core dump,尽管你的程序crash的时候会显示core dumped,但实际上不会生成core file 输入ul ...








