MyBatis 小知识点补充(#{} 和 ${})

简介: MyBatis 小知识点补充(#{} 和 ${})

#{}

预编译处理,MyBatis 会帮我们做转义,防止 SQL 注入

// 指定参数
@Param("username") String name = "hsq"
// 修饰方法的注解
@Select("select * from users where username = #{username}")
// 实际执行的 SQL
select * from users where username = 'hsq'

${}

不会进行转义,字符直接替换


// 指定参数
@Param("username") String name = "hsq"
// 修饰方法的注解
@Select("select * from users where username = #{username}")
// 实际执行的 SQL,纯粹的 SQL 替换,以下 SQL 是错误的
select * from users where username = hsq

什么情况下需要用到 ${}

一般情况下,当 SQL 语句中的参数需要放在 ’ ’ 中时,用 #{} ,让 MyBatis 替我们进行转义,当参数不需要放在 ’ ’ 时,就可以用 ${} ,直接进行字符替换


简而言之,带 ’ ’ 的参数用 #{} ,不带 ’ ’ 的参数用 ${}


// 指定参数
@Param("username") String name = "hsq"
@Param("offset") int a = 3;
@Param("limit") int b = 30;
// 修饰方法的注解
@Select("select * from users where username = #{username} offset ${offset} limit ${limit}")
// 执行的 SQL
select * from users where username = 'hsq' offset 3 limit 30


目录
相关文章
|
3月前
|
SQL Java 数据库连接
Spring、SpringMVC 与 MyBatis 核心知识点解析
我梳理的这些内容,涵盖了 Spring、SpringMVC 和 MyBatis 的核心知识点。 在 Spring 中,我了解到 IOC 是控制反转,把对象控制权交容器;DI 是依赖注入,有三种实现方式。Bean 有五种作用域,单例 bean 的线程安全问题及自动装配方式也清晰了。事务基于数据库和 AOP,有失效场景和七种传播行为。AOP 是面向切面编程,动态代理有 JDK 和 CGLIB 两种。 SpringMVC 的 11 步执行流程我烂熟于心,还有那些常用注解的用法。 MyBatis 里,#{} 和 ${} 的区别很关键,获取主键、处理字段与属性名不匹配的方法也掌握了。多表查询、动态
126 0
|
SQL XML 存储
Mybatis知识点全总结(二)
Mybatis知识点全总结
240 1
Mybatis知识点全总结(二)
|
SQL XML Java
MyBatis知识点笔记
MyBatis知识点笔记
259 0
MyBatis知识点笔记
|
SQL 缓存 Java
Mybatis核心知识点整理,常见面试题总结必备!
Mybatis核心知识点整理,面试必备! 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
300 0
Mybatis核心知识点整理,常见面试题总结必备!
|
SQL XML 存储
Mybatis知识点总结
Mybatis知识点总结
323 0
|
XML SQL Java
Mybatis知识点全总结(四)
Mybatis知识点全总结
235 0
Mybatis知识点全总结(四)
|
SQL 存储 缓存
Mybatis知识点全总结(三)
Mybatis知识点全总结
296 0
Mybatis知识点全总结(三)
|
SQL XML Java
Mybatis知识点全总结(一)
Mybatis知识点全总结
297 0
Mybatis知识点全总结(一)
【测试开发】知识点-mybatis,XML 映射文件介绍
【测试开发】知识点-mybatis,XML 映射文件介绍
【测试开发】知识点-mybatis,XML 映射文件介绍
【测试开发】知识点-mybatis,全局配置文件介绍
【测试开发】知识点-mybatis,全局配置文件介绍
【测试开发】知识点-mybatis,全局配置文件介绍