占位符,在mybatis底层会将 #{}占位符翻译成问号(?)...占位符
如果在SQL语句中占位符只有一个#{}占位符,{}中名称没有要求,但不能是空的; 参数可以直接传递,不用封装;
如果在SQL语句中的#{}占位符不止一个,参数值需要通过Map或者POJO对象进行封装...因为在mybatis底层是通过#{}占位符中的名称,作为key,到map中获取对应的value;
如果通过POJO对象来封装SQL参数值,#{}占位符中的名称要在POJO对象中有对应的getXxx方法,...总结: 在Mybatis框架中,大部分情况都是用#{}占位符,#{}其实就是JDBC中的问号(?)占位符,是为SQL语句中的【参数值】进行占位。...,将参数传递过来时,是直接将参数拼接在{}占位符所在的位置,因为是直接拼接,所以可能会引发SQL注入攻击,因此不推荐大量使用!