- 博客(14)
- 收藏
- 关注
原创 数据库设计--三范式与反三范式
只有一类信息 , 信息不可再拆分 ,字段代表唯一业务的语义,不会出现多维度的信息。表中字段对主键产生的部分依赖 : 联合主键索引 ----- 主键的底层就是索引。第二范式:在满足第一范式的基础上,消除对主键的部分依赖,保证对主键的绝对依赖。第三范式:在满足第二范式的基础上,消除间接依赖. 不存在对主键间接依赖传递。适用场景: 当冗余信息能大幅度提高查询效率的时候,我吗才会采用反范式的优化。表中属性字段对不全部依赖于两个主键 , 只依赖于两个主键之一的一部分。依赖于主键—>不存在对主键。
2023-08-25 20:11:17
119
1
原创 B树和B+树的区别--MySQL
MySQL索引使用的是B+树,因为索引是用来加快查询的,而B+树通过对数据进行排序是可以提高查询速度的,然后通过一个结点中可以存储多个元素从而可以使得B+树的高度不会太高,在MySQL中一个innodb页就是一个B+树节点,一个innodb页默认16kb,所以一般情况下一颗两层的B+树可以存2000万行左右的数据,然后通过利用B+树子节点存储了所有数据并且进行了排序,并且叶子结点之间有指针,可以很好的支持全表扫描,范围查找等SQL语句.
2023-08-23 08:32:23
72
1
原创 SpringBoot 事务管理+AOP
连接点简单的理解就是 目标方法,在spring中用JoinPoint抽象了连接点,用它可以获得方法执行时的相关信息,如方法名、方法参数类型、方法实际参数等。是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。@AfterReturning:此注解标注的通知方法在目标方法后被执行,有异常不会执行。@After:此注解标注的通知方法在目标方法后被执行,无论是否有异常。可以通配任意层级的包、或任意类型、任意个数的参数。
2023-08-07 20:39:17
70
1
原创 SpringBoot---登录校验
● 该浏览器在后续的请求中,每一次请求都会将该令牌携带到服务端,然后接下来在服务端,我们可以通过Filter或Interceptor对所有的请求进行拦截,然后进行校验,获取到请求中携带过来的令牌,进行判断,如果令牌正确合法,则放行,如果令牌不合法,则直接返回错误信息给前端,前端跳转到登录页面。如果查询到的用户不存在,则说明用户输入的用户名和密码错误。中的信息,如果有登录成功的信息,就说明用户登录成功,放行请求,如果发现登录标记中没有登录成功的标记,则给前端返回错误信息,跳转至登录页面。
2023-08-05 20:02:15
1645
1
原创 Mybatis基础操作
collection:集合名称item:集合遍历出来的元素/项separator:每一次遍历使用的分隔符open:遍历开始前拼接的片段close:遍历结束后拼接的片段。
2023-08-01 21:41:04
52
原创 初识 Mybatis
是一款优秀的持久层 框架,用于简化JDBC的开发A. 持久层即dao层,数据访问层,用来操作数据库B. 框架 : 是一个半成品软件,是一套可重用的、通用的、软件基础代码模型优点A. 数据库连接四要素(驱动、链接、用户名、密码),配置在了springboot默认的配置文件 application.properties中。B. 查询结果的解析及封装,由mybatis自动完成映射封装,我们无需关注。C. 在mybatis中使用了数据库连接池技术,从而避免了频繁的创建连接、销毁连接而带来的资源浪费。
2023-07-31 07:55:55
50
1
原创 MySQL---多表查询+事物
定义:事物是一组操作的集合,它是一个不可分割的工作单位,事物会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么全部成功,要么全部失败。子查询返回的结果是单个值(数字、字符串、日期等),最简单的形式,这种子查询称为标量子查询。持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久性的。原子性(Atomicity):事物是不可分割的最小操作单元,要么全部成功,要么全部失败。查询左表的全部数据,显示右表与左表交集的部分数据。
2023-07-30 22:59:36
50
1
原创 SpringBoot中常用的注解及作用
用于识别主类,它会触发自动配置和组件扫描, 它是一个复合型注解,包含@SpringBootConfiguration:标注当前类是配置类,这个注解继承自@Configuration。是自动配置的注解,这个注解会根据我们添加的组件jar来完成一些默认配置,我们做微服务时会添加spring-boot-starter-web这个组件jar的pom依赖,这样配置会默认配置springmvc和Tomcat。3.可以通过使用其他配置类的@Import注解导入其他配置类,以实现配置的组合和模块化。
2023-07-30 19:46:12
81
1
原创 数据库操作---DQL
而页面在展示的时候,展示出来的是 班主任、讲师、学工主管、教研主管。那我们如何将1转换为 “班主任”,2转换为 “讲师”,3转换为 “学工主管”,4转换为 “教研主管” 呢?● 关系: 一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率。分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。IF(条件表达式1,表达式为true取的值,表达式为false取的值)一对多关系实现:在数据库表中多的一方,添加字段,来关联表少的一方的主键。
2023-07-29 21:21:48
157
原创 数据库操作---DML
insert into emp VALUES (null,‘baimeiyingwang’,‘123456’,‘殷天正’,1,‘1.jpg’,1,‘2005-01-01’,now(),now()),insert into emp VALUES (null,‘qingyifuwang’,‘123456’,‘韦一笑’,1,‘1.jpg’,1,‘2005-01-01’,now(),now());), (值1, 值2, …), (值1, 值2, …), (值1, 值2, …), (值1, 值2, …
2023-07-29 19:35:11
33
原创 数据库的设计---DDL
char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关。alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] [ 约束 ];例:alter table emp change qq qq_num varchar(13) comment ‘QQ’;alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];
2023-07-29 17:08:49
67
原创 初识SQL
1.可以单行或多行书写,以分号结尾2.可以使用空格/缩进来增强语句的可读性3.4.注释:单行注释: – 或 #多行注释:/* 内容 */
2023-07-29 14:12:31
74
原创 SpringBoot三层 架构+分层解耦---代码的耦合内聚
大致过程为:浏览器发送请求,控制端(Controller)接收请求处理,并做出响应发送给服务端(Service),服务端进行数据的逻辑处理后发送给数据层(Dao),数据层在数据库中查找数据后返回服务层,服务层接收数据后发送给控制层,控制层再返回给浏览器,供客户端阅读。
2023-07-26 23:33:05
3185
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人