SpringBoot

Mybatis简介

Mybatis是一个java编写的轻量级(使用方式简单)的半自动(sql自己写,其他框架做)的ORM映射的Dao层框架。

Dao(Database Access Object):指java程序中专门用于访问数据库的对象:

ORM(Object Relational Mapping):指将Java程序中封装数据的Bean和数据库中保存数据的表结构进行映射。

2.1.2 SpringBoot简介

SpringBoot的作用是为了在使用Spring的应用进行开发时,简化配置。并且以最简单的方式来整合第三方的应用,例如Redis,Mybatis,SpringBoot等。

SpringBoot顺应了可拔插的插件式开发思想,需要集成什么框架,只需要引入此框架提供的SpringBoot-starter即可。

ORM的规则:

  1. 一种Bean对应一张表。
  2. Bean的一个属性对应表的一列。
  3. 一个Bean对应数据库中的一行。
  4. 读数据库即把表中的行封装为一个Bean。

写数据库即把Bean中的属性写入到表中行的列中。

2.4 发送请求

2.4.1 URL路径

以/开头的为绝对路径。不以/开头的为相对路径。一般页面中以编写绝对路径作为规范。

2.4.2 请求方式

在Http协议中,一共定义了9种请求方式,但是常用的是GET和POST。

GET请求方式在发送请求时,会把参数附加在url后面。例如:

http://localhost:8080/hello?name=jack&age=20

POST请求方式在发送请求时,会把参数附加在请求体中,例如:

http://localhost:8080/hello

++++请求体:++++

++++name=jack++++

++++age=20++++

2.4.3 发送请求

浏览器的地址栏和<a>标签只能发送GET请求。

可以通过web测试工具模拟Get或Post请求,例如使用ApiPost工具:

3.4 SpringBoot常用注解总结

|-------------------------|----------------|-------------------------------------------------|
| 注解 | 常见标注位置 | 作用 |
| @Controller | 类 | 标识当前类是控制器,且在容器中创建当前类的单例对象。 |
| @Service | 类 | 标识当前类是业务模型类,且在容器中创建当前类的单例对象。 |
| @ResponseBody | 方法 | 将方法的返回值作为响应体返回,如果返回值为字面量则直接返回,如果为非字面量则转为json后返回 |
| @RequestBody | 参数 | 用于将前台传入的json格式数据转为Bean或Map |
| @RestController | 类 | 作用等于@Controller + 为此类的所有方法都默认添加@ResponseBody注解 |
| @Autowired | 属性 | 从容器中找到和此属性类型一致的Bean。找到就赋值,找不到就报错 |
| @RequestMapping | 方法 | 指定当前方法所处理的url |
| @Mapper | Dao | 需要引入mybatis,表明使用动态代理的方式在容器中为Mapper创建对象 |
| @DS | Dao类或方法 | 需要引入baomidou动态数据源,指定方法访问的数据源 |

相关推荐
寻星探路8 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧10 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法11 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72511 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎11 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄11 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿12 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds12 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹12 小时前
【Java基础】多态 | 打卡day2
java·开发语言