文章目录
一:说明
(1)如何传参
在接口的方法中传递参数时可以直接传参,但是当字段过多时,就不那么合适了。因此我们直接传递对象,然后赋值时直接使用对象中的属性
例如后面查询例子
(2)#{}
和${}
在MyBatis中,#{}
和${}
是两种不同的参数注入方式,它们在SQL语句中的使用有一些重要的区别
#{}
(预编译): 使用#{}时,MyBatis会自动将传入的值进行预编译处理,将参数值安全地嵌入SQL语句中。这样可以有效防止SQL注入攻击,因为用户输入的数据不会直接拼接到SQL语句中${}
(直接替换):直接将参数的值拼接到SQL语句中,不进行预编译处理。这种方式更像是简单的字符串替换,可以用于处理一些特殊需求,但是也容易引发SQL注入问题,因为用户输入的数据直接嵌入到SQL语句中
尽管推荐使用#{}
来防止SQL注入,但有一些情况下