首页
学习
活动
专区
工具
TVP
发布

云霄雨霁

专栏作者
209
文章
238197
阅读量
42
订阅数
《10步完全理解SQL》收获
先贴蓝色神秘串:http://blog.jobbole.com/55086/#article-comment
SuperHeroes
2019-03-12
6130
Mybatis入门
发现一个非常好的Mybatis详细教程,地址:https://www.w3cschool.cn/mybatis/
SuperHeroes
2019-03-12
3640
聚集索引和非聚集索引(转)
索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。
SuperHeroes
2019-03-12
9180
Python中使用SQLite
SQLite是一种数据库,Python中集成了SQLite3,所以在Python中使用SQLite,可以直接导入SQLite包,不需要做额外的配置。
SuperHeroes
2019-03-12
8930
高并发中幂等的实现
在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。即不用担心重复执行幂等方法不会影响系统状态。比如setTrue()方法就具有幂等性。
SuperHeroes
2019-03-12
1K0
死锁、饥饿和活锁
死锁: 经典例子:“哲学家进餐”问题。 死锁的解决: 数据库服务器解决死锁:数据库系统中考虑了检测死锁和从死锁中恢复。当数据库服务器检测到死锁时(通常在表示等待关系的有向图中搜索循环),将选择一个牺牲者并放弃这个事务。作为牺牲者的事务会放弃它持有的所有资源,从而使其他事务继续执行。然后可以重新执行被强制终止的事务。 JVM解决死锁:JVM在解决死锁只能终止并重启。 死锁的产生: 锁顺序死锁: 两个线程试图以不同的顺序来获得相同的锁,那么就用可能发生死锁。 public class LeftRightLock
SuperHeroes
2018-05-31
1.3K0
函数依赖总结
关系模式的外延和内涵 一个关系模式包含外延和内涵。 外延就是通常所说的关系、表或当前值。由于用户经常进行增删改查,所以外延是与时间有关的。 内涵是与时间独立的,是对数据的定义以及数据完整性约束的定义。对数据的定义包括关系、属性、域的定义和说明。 对数据完整性约束主要包括两个方面: 静态约束:涉及数据之间的联系(函数依赖)、主键和值域的设计。 动态约束:定义各种操作(增删改)对关系值的影响。 一般就把内涵称为关系模式。 关系模式的冗余和异常 数据冗余是指同一个数据在系统中多次出现。 由于数据的冗余,在对数据进
SuperHeroes
2018-05-31
7180
范式总结
第一范式 定义:如果关系模式R和每个关系r的属性值都是不可分的原子值,那么称R是第一范式模式。 满足1NF的关系称为规范化关系,否则称为非规范化关系。关系数据库研究的关系都是规范化关系。 第二范式 定义:如果关系模式R是1NF,且每个非主属性完全依赖于候选键,那么称R是第二范式2NF的模式。如果数据库的每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。 主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。 完全依赖和局部依赖:对于FD W->A,如果
SuperHeroes
2018-05-31
6260
数据库事务总结
食事务基本概念 事务是构成单一逻辑工作单元的操作集合,要么完整的执行,要么完全不执行。在程序中,事务以 BEGIN TRANSTATION语句开始,以COMMIT语句或ROLLBACK语句结束。 事务
SuperHeroes
2018-05-31
8200
数据库的并发控制总结
并发操作带来的问题 数据库并发操作通常会带来三个问题:丢失更新问题、读脏数据问题、不可重复读问题。 丢失更新问题 即一个事务对数据库的更新操作没有保证对其他事务可见。 例如,数据库中A的初始值为100,事务T1对A减30,事务T2对A减50,那么最后结果肯定应该是20。但按照表中进行,最后结果却是50,即丢失了事务T1对数据库的更新。 时间 事务T1 数据库中的值 事务T2 t0 100 t1 FIND A t2 FIND A t3 A=A-30 t4 A=A-50 t5 UPDATE
SuperHeroes
2018-05-31
5400
数据库完整性总结
完整性和安全性 数据库完整性是指数据库的正确性、有效性和相容性,防止错误数据进入数据库。 数据库安全性是指保护数据库,防止不合法的引用,以免数据的泄密、更改或破坏。 安全性和完整性常常混淆。安全性是指保护数据以防止非法用户故意造成破坏;完整性是保护数据以防止合法用户无意中造成破坏。 完整性约束 SQL中把完整性约束分为三大类:域约束、基本表约束和断言。 域约束 可以用“CREATE DOMAIN” 语句定义新的域,并且还可以出现CHECK子句。 定义一个新的域COLOR,可以用下列语句实现: CREATE
SuperHeroes
2018-05-31
9160
Mybatis--入门实例
/** * 1、接口式编程 * 原生: Dao ====> DaoImpl * mybatis: Mapper ====> xxMapper.xml * * 2、SqlSession代表和数据库的一次会话;用完必须关闭; * 3、SqlSession和connection一样她都是非线程安全。每次使用都应该去获取新的对象。 * 4、mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象。 * (将接口和xml进行绑定) * EmployeeMapp
SuperHeroes
2018-05-31
4010
Mybais映射文件笔记----查询
返回一个list: public List<Employee> getEmpByLastNameLike(String lastname); <!--映射文件中select标签id属性还是方法名,resultType不是List,而是集合中元素的类型--> <select id="getEmpByLastNameLike" resultType="Employee">     select * from tbl_employee where last_name like #{lastname} </
SuperHeroes
2018-05-31
7390
Mybatis--动态SQL
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapperDynamicSQL"> <!-- • if:判断 • choose (when, otherwise):分支选择;带了break的swtich-case 如果带了id就用id查,如果带了lastName就用lastName查;只会进入其中一个 • trim 字符串截取(where(封装查询条件), set(封装修改条件)) • foreach 遍历集合 --> <!-- 查询员工
SuperHeroes
2018-05-31
7050
Mybatis--缓存
两级缓存: 一级缓存:(本地缓存) sqlSession级别的缓存,一级缓存一直是开启的 与数据库的同一次绘画期间查询到的数据会放在本地缓存中,以后如果需要获取相同的数据,直接从缓存中获取,不必再去查询数据库 一级缓存失效的情况(没有使用到当前一级缓存的情况,效果就是还需要再向数据库发出查询)(4种): 1、sqlSession不同 2、sqlSession相同,查询条件不同(当前一级缓存中还没有相关数据) 3、sqlSession相同,两次查询期间执行了增删改操作(操作可能对数据有影响) 4、s
SuperHeroes
2018-05-30
6530
Mybatis--逆向工程
<generatorConfiguration> <!-- targetRuntime="MyBatis3Simple":生成简单版的CRUD MyBatis3:豪华版 --> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- jdbcConnection:指定如何连接到目标数据库 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver"
SuperHeroes
2018-05-30
5680
Mybatis--全局配置文件笔记
全局配置文件用来配置数据库链接、映射文件等。 1、<properties>标签:引入外部properties配置文件的内容; 属性:resource 引入类路径下的资源 url:引入网络路径或磁盘路径下的资源 2、<settings>包含很多重要的设置项 包含很多<setting>标签,用来设置每一个设置项 name:设置项名 value:设置项取值 3、<typeAliases>标签:别名处理器,为Java类型取别名。 包含很多<typeAlias>标签,为某一个Java类型取别名。 typ
SuperHeroes
2018-05-30
4410
关系数据库语言SQL简介
SQL数据库的体系结构基本上也是三层结构,但术语和传统的关系模型属于不同。SQL中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。 SQL数据库的体系结构要点如下: 一个SQL模式是表和约束的集合; 一个表由行集构成,一行是列的序列,每列对应一个属性; 表有三种类型:基本表、视图和导出表。基本表是实际存储在数据库中的表,视图是由若干基本表或其他视图构成的表的定义,导出表是执行查询时产生的表; 一个基本表可以跨一个或多个存储文件,一个存储文件也可以或多个
SuperHeroes
2018-05-30
8100
数据定义语言DDL
基本表的创建--CREATE: 创建基本表可以用CREATE TABLE实现: CREATE TABLE<基本表名>     (  <列名类型>,          ...         <完整性约束>,             ...) 完整性约束有三种子句:主键子句(PRIMARY KEY)、外键子句(FOREIGN KEY)和检查子句(CHECK)。 示例: CREATTE TABLE S (S# CHAR(4) NOT NULL, SNAME CHAR(8)
SuperHeroes
2018-05-30
7480
数据更新语言DML
数据插入--INSECT: 1、单元组的插入: INSERT INTO <基本表名>[(<列名序列>)]         VALUES(<元组值>) 例如: INSERT INTO S(S#,SNAME,AGE,SEX) VALUES('S36','GU',20,'M'); 2、多元组的插入: INSERT INTO <基本表名>[(<列名序列>)]         VALUES(<元组值>),(<元组值>),...,(<元组值>) 例如: INSERT INTO S VAL
SuperHeroes
2018-05-30
5420
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档