springboot09 事务 H2数据库】的更多相关文章

一.事务 1. 事务介绍 事务可以包含多个操作步骤 , 如果有一个步骤失败,那么这一组都以失败告终. 事务是指包含多个微小逻辑单元的一组操作, 只要其中有一个逻辑失败了,那么这一组操作就全部以失败告终,不存在一半成功,一半不成功的状况. 事务在平常的CRUD当中也许不太常用, 但是如果我们有一种需求,要求,一组操作中,必须全部成功执行,才算完成任务,只要有一个出错了,那么所有的任务都将回到最初的状况,恢复原样.那么这就可以使用事务了.如: 银行的转账例子 , 又如一次性往两张表添加记录,需要确保…
H2数据库集群 1. H2数据库简单介绍 1.1 H2数据库优势 经常使用的开源数据库:H2,Derby,HSQLDB.MySQL,PostgreSQL. 当中H2,HSQLDB相似,十分适合作为嵌入式数据库使用.其它的数据库大部分都须要安装独立的client和服务器端. H2的优势: 1.h2採用纯Java编写,因此不受平台的限制. 2.h2仅仅有一个jar文件,十分适合作为嵌入式数据库试用. 3.性能和功能的优势 H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于操作…
H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容.H2还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便. 一.引入Maven依赖 在maven中定义H2数据库的版本属性 <properties> <h2.version>1.3.172</h2.version></properties> 添加H2依赖 <dependency> &…
使用事务一般是进行数据写入,数据读取一般是不需要这货的 第一种办法: 使用存储过程: 顾名思义,在存储过程中定义好变量,定义好事务开始,结束,错误回滚然后在ADO.NET中正常调用存储过程的方法就行 /// <summary> /// 通过存储过程来使用事务 /// </summary> /// <param name="conn">数据库链接</param> /// <param name="id">传入…
之前在树莓派上面操作时候,遇到一些业务方面的bug,和团队中的同事经过多次尝试,但就是难以重现用户现场的问题. 但是问题却实实在在地发生,虽然并不是必然可重现的bug,但是也比较闹心: 发生了问题,也只能通过数据库,直接操作,作为临时解决方案. 这里记录一下,操作h2数据库的相关的信息. --------------------------------------------- 操作分两种,一种通过linux shell下的命令行方式操作,另外一种是在Web Console的操作,类似与MySQ…
前面大概介绍了JDBC连接数据库的过程,以及怎么操作数据库,今天给大家分享JDBC怎么处理CLOB和BLOB存储图片的事情,以及JDBC怎么去处理事务.怎么在插入数据的时候生成主键返回值 一.JDBC处理CLOB和BLOB数据 1.1.JDBC处理CLOB(在MySQL中是TEXT) 环境: create table tb_clob_test_1(id int,clob_data text); 前面使用的DButils工具类,用来获取Connection连接和关闭资源. 1)text类型也可以存…
背景 H2 数据库是一个开源的嵌入型内存数据库,采用纯Java语言实现: 程序非常小巧轻便,整个完整的Jar包也只有1.5M左右,很容易集成到项目中. 官网地址 http://www.h2database.com/html/main.html 在数据存储的场景中,为什么会使用内存数据库?常见的出发点可能有: 计算资源限制,如嵌入式计算环境中,由于CPU.内存.Disk等限制,要求采用小巧的数据库存储方案: 项目预研,在项目立项之前可能无法立即采购昂贵的数据库软件,此时往往可以退而选择临时解决方案…
数据库加事务并不是数据就安全来了,事务和锁要分析清楚和配合使用 问题背景处于对高并发的秒杀环节的理解整理如下: 秒杀的时候高并发主要注意1.在秒杀的情况下,肯定不能如此高频率的去读写数据库,会严重造成性能问题的必须使用缓存,将需要秒杀的商品放入缓存中,并使用锁来处理其并发情况.当接到用户秒杀提交订单的情况下,先将商品数量递减(加锁/解锁)后再进行其他方面的处理,处理失败在将数据递增1(加锁/解锁),否则表示交易成功.当商品数量递减到0时,表示商品秒杀完毕,拒绝其他用户的请求.2.这个肯定不能直接…
单元测试有几点要说的 事实上springboot框架是一个tdd框架,你在进行建立项目时它会同时建立一个单元测试项目,而我们的代码用例可以在这个项目里完成,对于单元测试大叔有以下几点需要说明一下: 单元测试的用例之间不要有相互依赖 单元测试数据来源为本地,不要访问外部资源,外部数据库也是不行的 对于集成测试,每个控制器对应一个测试类,它们可以有统一的抽象基类,用来存储公用的属性,如数据对象,http对象等 引入相关依赖包 testCompile('com.h2database:h2') 下面对h…
为了让你的 Confluence 在安装成功后就可以使用而不需要使用任何外部的数据库,Confluence 使用一个嵌入的 H2 数据库. 当你选择对 Confluence 进行评估和测试的时候,H2 数据库是默认被启用的. 嵌入的 H2 数据库存储在你 Confluence 的 home 目录中  <confluence-home>/database. 嵌入 H2 数据库仅仅支持你对 Confluence 进行评估和测试,如果你决定将 Confluence 用作生产环境的话,你必须整合到 …