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动态数据源,指定方法访问的数据源 |

相关推荐
2601_962106645 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
RuoyiOffice6 小时前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
2601_962106646 小时前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查
java
RuoyiOffice7 小时前
KubeSphere 容器云实践:从管理 K8s 到建设企业 PaaS,还需要哪些能力
spring boot·kubernetes·kubesphere·jenkins·paas·微服务部署·ruoyi office
杨凯凡7 小时前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略
java·rest api·springframework·spring boot 4·api版本管理
T_Wizard7 小时前
同一个问题写了 4 遍:官方 SDK / HTTP / Spring AI / LangChain4j,到底该选哪个
java·ai编程
hai_android7 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
斯维赤8 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
aiks_yuan10 小时前
Java CPU 100% 怎么排查:JDK 11 起 jstack 自带线程 CPU 时间,不用再 top -H 换算十六进制(JDK 8、11、17 实测)
java
Flynn Liang12 小时前
AiServices 源码级拆解:一个接口如何变成 RAG Agent
java·langchain·源码分析·rag·langchain4j·aiservices