你好offer之--swagger、Mybatis、Maven

Swagger

Swagger提供了用于生成,可视化和维护API文档的一系列解决方案,从而使API文档不再需要人工操作。

使用Swagger解决的问题?

保证文档的时效性:只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,代码变文档跟着变

使用swagger:

1.添加依赖
2.添加Swagger2Config配置类
3.通过注解使用swagger

Swagger2常用注解说明

@Api 用在请求的类上,表示对类的说明
@ApiOperation 用在请求类的方法上,说明方法的用途和作用
@ApiParam可用在方法,参数和字段上,一般用在请求体参数上,描述请求体信息

例子:
@PostMapping
@ApiOperation(value = “新增用户”)
public Boolean insert(@RequestBody @ApiParam(name = “UserDTO”, value = “新增用户参数”) UserDTO userDTO) {
list.add(userDTO);
return true;
}

Mybatis

Mybatis是一种半自动化的Java持久层框架一个orm框架,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
通过注解或xml的方式将对象和SQL联系起来,主要与Spring整合使用
使用过程在pom.xml添加依赖。在xml文件或yml中进行配置端口,密码

JDBC的使用步骤:

  • 通过反射加载驱动
  • 连接数据库
  • 执行SQL语句
  • 处理数据
  • 关闭连接和其他对象

Mybatis的出现解决了JDBC频繁创建、释放数据库连接对象,造成的资源浪费,影响性能的不好影响减少了代码量。SQL写在XML中,解除SQL与代码的耦合
可以采用连接池的方式进行数据库的连接,Mybatis自动将java对象映射到sql语句中

Mybatis的工作原理:

  • 读取Mybatis文件
  • 加载映射文件
  • 构建会话工厂
  • 创建会话对象

#{}和${}的区别:

#{}是占位符,预编译处理,可以防止SQL注入;
#{}传入参数是以字符串传入,会将SQL中的#{}替换为?号,
#{}会根据传递进来的值来选择是否加上双引号
${}是普通传值,简单的字符串替换,没有预编译处理,不能防止SQL注入。

Mybatis和Hibernate的区别

Mybatis需要手动编写SQL支持动态SQL,是一种轻量级框架,学习门槛低,适用于大型项目,移植性差
Hibernate 是重量级框架,学习使用门槛高,适用于小型项目

MyBatis的一级(不同的sqlSession中的缓存是互相不能读取的)、
二级缓存(二级缓存是跨SqlSession的作用于表上(mapper上的))
MyBatis默认打开一级缓存

Maven

作用:
依赖管理:就是对jar包的管理,统一由pom.xml文件统一管理依赖,
解决了导入jar包的麻烦,jar包不用每个项目都进行保存

pom的中文是:项目对象模型

maven里面主要包含依赖和插件


版权声明:本文为m0_58600477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。