占位符,在mybatis底层会将 #{}占位符翻译成问号(?)...占位符
如果在SQL语句中占位符只有一个#{}占位符,{}中名称没有要求,但不能是空的; 参数可以直接传递,不用封装;
如果在SQL语句中的#{}占位符不止一个,参数值需要通过Map或者POJO对象进行封装...总结: 在Mybatis框架中,大部分情况都是用#{}占位符,#{}其实就是JDBC中的问号(?)占位符,是为SQL语句中的【参数值】进行占位。...删除: delete from emp where 列=参数值...
2、${}占位符:
select * from emp where id>5;
{}占位符: 是为SQL语句中的某一个SQL片段进行占位...如果SQL语句中只有一个#{}占位符,参数可以不用封装,直接传递即可!
但如果SQL语句中哪怕只有一个${}占位符,参数也必须得先封装到Map或者POJO对象中,再把Map或者POJO对象传递过去!