SpringMabatis学习笔记1

今日内容:搭建mybatis ORM 配置数据源 $#的区别 增删改

ORM

(Object Relational Mapping,对象关系映射)是一种数据持久化技术,它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过 JavaBean 对象去操作数据库表中的数据。

搭建mybatis的过程

1.添加依赖

2.配置数据源

首先在resourtces包下创建application.yml文件

3.创建封装类

创建bean包,在bean包下创建Staff.java类在类中创建封装

要实现get,set方法

4.定义Mapper

首先在resourtces包下创建mapper包然后创建Staff_Mapper.xml类

5.配置Mapper文件路径和别名以及日志级别

在application.yml文件下

6.定义数据访问层接口

创建dao包后创建Dao类在类中创建接口

7.编写业务处理层

位于controller包下的Controller类中

8.管理器

也位于controller包下的Controller类中

$#的区别

1. #{}(预处理方式)

工作方式:#{} 使用了预处理(PreparedStatement)的方式来设置参数。这种方式首先会解析 SQL 语句,然后将参数设置到 SQL 语句中,并且会使用占位符(如 ?)来代替具体的参数值。这样,当 SQL 语句被发送到数据库执行时,参数的值已经由数据库驱动程序设定好了,这样做可以防止 SQL 注入攻击。

用途:#{} 主要用于在 SQL 语句中替换参数值,如字段名、表名之外的任何参数值。

安全性:高,因为使用预处理的方式可以有效防止 SQL 注入。

2. ${}(字符串替换方式)

工作方式:${} 则是通过字符串替换的方式来替换 SQL 语句中的参数。它首先会将 SQL 语句中的 ${} 替换为参数的实际值,然后再执行 SQL 语句。这种方式可能会受到 SQL 注入的攻击,特别是当参数中包含 SQL 关键字或特殊字符时。

用途:${} 主要用于在 SQL 语句中动态地替换表名、字段名等。由于这些部分通常不会被当作 SQL 语句的参数部分来预处理,所以必须使用 ${} 来实现。

安全性:低,需要开发者确保替换的字符串是安全的,以避免 SQL 注入。

增删改查

增加和删除使用<insert></insert> @PostMapping @DeleteMapping

修改使用<update></update> @putMapping

查找使用<select></select> @GetMapping

使用的时候用的是MySQL的用法。

相关推荐
饮长安千年月1 小时前
Linksys WRT54G路由器溢出漏洞分析–运行环境修复
网络·物联网·学习·安全·机器学习
红花与香菇2____2 小时前
【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(上)
笔记·嵌入式硬件·学习·pcb设计·cadence·pcb工艺
一天八小时4 小时前
Docker学习进阶
学习·docker·容器
前端没钱4 小时前
前端需要学习 Docker 吗?
前端·学习·docker
拥有一颗学徒的心4 小时前
鸿蒙第三方库MMKV源码学习笔记
笔记·学习·性能优化·harmonyos
车端域控测试工程师4 小时前
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑰】
经验分享·学习·汽车·测试用例·capl
车端域控测试工程师4 小时前
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑪】
经验分享·学习·汽车·测试用例·capl
charlie1145141917 小时前
(萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念
c语言·stm32·单片机·嵌入式硬件·学习·教程
俊哥V8 小时前
[笔记.AI]如何判断模型是否通过剪枝、量化、蒸馏生成?
人工智能·笔记
网安Ruler9 小时前
泷羽Sec-黑客基础之html(超文本标记语言)
前端·学习·网络安全·html