恢弘志士之气,不宜妄自菲薄。这篇文章主要讲述关于Mybatis的mapper文件中${}和#{}的区别和注意事项相关的知识,希望能为你提供帮助。
#{}占位符 可以有效防止sql注入,使用时不需要关注参数的类型,mybatis会自动进行java类型和jdbc类型的转换;#{}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,#{}括号中可以是value或者其他名称。
【关于Mybatis的mapper文件中${}和#{}的区别和注意事项】${}和#{}不同,通过${}可以将parameterType传入的内容拼接在sql中且不进行jdbc类型转换,${}可以接收简单类型值或者pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value,如果使用别的名称则会出现 org.apache.ibatis.reflection.ReflectionException:There is no getter for…
…
的错误,这时有两种解决方式,1、将mapper文件中${}括号的值改为value,2、在dao文件的参数前增加注解 @Param("名称"),如
public int getPageCount(@Param("condition") String condition);
使用${}不能防止sql注入,但经常用于模糊查询中如like‘%${value}%‘
推荐阅读
- 2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
- Android中碎片的添加问题
- mac Unable to access Android SDK add-on list
- mpvue小程序开发之集成第三方UI框架Vant Weapp UI
- AppBoxFuture: 前端组件化开发
- Android BottomNavigationView 底部导航组件使用
- mapper.xml文件,sql语句参数为list
- APP项目资源对接平台有那几家
- 微信怎样换气泡样式?微信换气泡样式办法_微信