
数据库
文章平均质量分 86
Sadlay
Never Give Up
展开
-
Spring Boot 配置数据源
配置数据源在依赖于Spring Boot的spring-boot-startr-data-jpa后,它就会默认为你配置数据源,这些默认的数据源主要是内存数据库,如h2、hqldb和Derby等内存数据,有时候需要配置为我们想要的数据源。启动默认数据源以h2数据库为例,在maven中加入它的依赖 <dependency> <groupId>org.spring...原创 2018-11-04 16:32:18 · 711 阅读 · 0 评论 -
深入数据库事务(二)事务的隔离级别
深入数据库事务(二)事务的隔离级别本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行(原子性),从一个状态转变到另外一个状态(一致性)。由于事务满足久性。所以一旦事务被提交之后,数据就能够被持久化下来,又因为事务是满足隔离性的,所以,当多个事...原创 2018-11-30 10:31:44 · 181 阅读 · 0 评论 -
深入数据库事务(一)数据库事务
深入数据库事务(一)数据库事务事务事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。概念一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的:1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在...原创 2018-11-30 10:30:38 · 196 阅读 · 0 评论 -
深入Mysql锁机制(五)乐观锁CAS
深入Mysql锁机制(五)乐观锁CAS线程安全众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程中的操作执行顺序是不可预测的。Java里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性。加上复合...原创 2018-11-30 10:27:02 · 1820 阅读 · 0 评论 -
深入Mysql锁机制(四)乐观锁与悲观锁
深入Mysql锁机制(四)乐观锁与悲观锁在数据库锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,...原创 2018-11-30 10:26:04 · 284 阅读 · 0 评论 -
深入Mysql锁机制(三)共享锁与排他锁
深入Mysql锁机制(三)共享锁与排他锁共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。用法SELECT ... LOCK IN SHARE MODE;...原创 2018-11-30 10:24:45 · 349 阅读 · 0 评论 -
深入Mysql锁机制(二)读锁和写锁
深入Mysql锁机制(二)读锁和写锁这篇文章主要来介绍一下MySQL数据库中的表级锁。本文提到的读锁和写锁都是MySQL数据库的MyISAM引擎支持的表锁的。而对于行级锁的共享读锁和互斥写锁请阅读MySQL中的共享锁与排他锁。我习惯在描述表锁的时候按照读写来区分,在表述行锁的时候按照共享和互斥来区分。其实无论是表锁还是行锁。共享锁指的就是读锁!互斥锁、排他锁、独占锁值得都是写锁。重点知识...原创 2018-11-30 10:23:52 · 354 阅读 · 0 评论 -
深入Mysql锁机制(一)行级锁、表级锁、页级锁
深入Mysql锁机制(一)行级锁、表级锁、页级锁在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。在数据库的锁机制中介绍过,在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(BDB引擎 )。行级锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能...原创 2018-11-30 10:20:19 · 207 阅读 · 0 评论 -
Spring Boot配置文件properties数据库密码加密
Spring Boot配置文件数据库密码加密pom添加依赖 <!-- 数据库加密 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-b...原创 2018-11-04 16:44:23 · 10550 阅读 · 2 评论 -
Spring Boot整合Mybatis
SpringBoot整合MyBatis框架MyBatis比JPA和Hibernate更为简单易用,也更加灵活。在以系统管理为主的时代,Hibernate的模型化有助于系统的分系和建模,重点在于业务模型的分系和设计,术语表和业务模型分系的阶段。而现今已经是移动互联网的时代,互联网的特点是面对公众,相对而言业务比较简单,但是往往网站会拥有大量的用户,面对的问题主要是大数据、高并发和性能问题。因此在这...原创 2018-11-04 16:37:08 · 190 阅读 · 0 评论 -
Spring Boot 使用JPA(Hibernate)操作数据库
使用JPA(Hibernate)操作数据库JAP(Java Persisitence API),定义了对象关系映射(ORM)以及实体对象持久化的标准接口。概述在spring boot中JPA是依靠Hibernate才得以实现的。JPA所维护的核心是实体(Entity Bean),而它是通过一个持久化上下文(Persinstence Context)来使用的。持久化上下文包含以下3个部分:...原创 2018-11-04 16:35:50 · 1889 阅读 · 0 评论 -
Spring Boot 使用JdbcTemplate操作数据库
使用JdbcTemplate操作数据库配置数据源以MySQL作为自定义数据源。首先在pom.xml中去除对h2的依赖。保留spring-boot-starter-data-jpa的依赖,然后增加Mysql的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif...原创 2018-11-04 16:34:27 · 1488 阅读 · 0 评论 -
Spring Boot使用多数据源
Spring Boot使用多数据源由于项目中需要使用多个数据库,这里简单说下如何在Spring Boot中配置多个数据源。这里我使用的持久层框架是Mybatis。配置文件pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置:mybatis.config-locations=classpath:mybatis/mybatis-config.xmlspring.datasourc...原创 2018-12-14 14:28:51 · 269 阅读 · 0 评论