1.SpringMVC和SpringBoot的区别?
Spring MVC是基于 Servlet 的一个 MVC 框架,通过Dispatcher Servlet, ModelAndView解决 WEB 开发的问题.但是它的配置繁琐,大量 .xml、.properties文件。
2.而Spring Boot 是基于Spring的一套快速开发整合包,它不仅仅包含了spring mvc ,还包括 spring JPA、spring security等.实现自动配置,降低项目搭建的复杂度.
2.SpringBoot的配置文件支持哪些格式?优先级是什么?
application.properties、application.ymal和application.yml。
application.properties > application.yml > application.yaml
3.SpringMVC的执行流程?
SpringMVC的执行流程如下(控制器--模型--视图):
- 用户点击某个请求路径,发起一个 HTTP request 请求,该请求会被提交到 DispatcherServlet(前端控制器);
- 由 DispatcherServlet 请求一个或多个 HandlerMapping(处理器映射器),并返回一个执行链(HandlerExecutionChain)。
- DispatcherServlet 将执行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器);
- HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(常称为 Controller);
- Handler 执行完毕后会返回给 HandlerAdapter 一个 ModelAndView 对象(Spring MVC的底层对象,包括 Model 数据模型和 View 视图信息);
- HandlerAdapter 接收到 ModelAndView 对象后,将其返回给 DispatcherServlet ;
- DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析;
- ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet;
- DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图);
- 视图负责将结果显示到浏览器(客户端)。
4.索引怎么创建?
CREATE INDEX index_name ON tablename (column_to_index);
5.索引有哪些?
索引分为聚簇索引和非聚簇索引:
聚簇索引指的是叶子节点关联的是整个记录。每张表只有一个聚簇索引,默认是主键索引,如果没有主键索引就用唯一索引,如果没有就用row_id生成一个聚簇索引。
非聚簇索引指的是二级索引,叶子节点关联的是主键id,根据索引找到叶子节点之后需要二次回表。
6.索引存放的位置?
存放在File-Per-Table Tablespaces 表空间中。
7.什么是回表查询?
就是当你查询二级索引之后根据查到的唯一id去查聚簇索引。
8.终端登录MySQL(非本地)的命令是什么?
mysql -h <主机名或IP地址> -P <端口号> -u <用户名> -p
9.select * from ...
from后面的执行顺序是什么
where->group by->having
10.一个多对多关系的数据表要怎么设计?
建立关系表,两个实体表和关系表之间,分别就成了一对多的关系
11.MySQL5和8的区别?
借用https://blog.csdn.net/weixin_72610956/article/details/133795411的图。
12.MySQL的默认字符集和排序规则是什么?
utf8mb4,utf8mb4_0900_ai_ci
13.utf-8和utf-8mb4的区别?
utf-8mb4支持更多的字符集,属于utf-8的超集。
14.终端连接Redis的命令?
Redis-cli -h <host> -p <port> -a <password>