mybatis 参数传入,以及#,$占位符区别
来源:互联网 发布:常见的公钥密码算法 编辑:程序博客网 时间:2024/06/06 17:06
单个的string传递需要@Param否则会报没有get方法,设置不入sql参数(There is no getter for property named 'bz' in 'class java.lang.String')
map,实体等都会有内置的getter
public List<TbBasBedSrt> getTbBasBedSrtList(Map<String, Object> map);
public List<?> getbedByBz(@Param(value="_bz") String _bz);
<select id="getbedByBz" parameterType="string" resultType="java.util.HashMap">
select * from tb_bas_bed_srt where bz like '%${_bz}%' order by order_num
</select>
<select id="getTbBasLkpByBusinessTypeMap" parameterType="String"
resultType="java.util.HashMap" >
SELECT * FROM TB_BAS_LKP f
where 1 = 1
<if test="businessType!=null and businessType!=''">
and f.BUSINESS_TYPE = #{businessType}//不用$,$传递参数的方式不一样,#会将null转化""
</if>
</select>
$的不会转化为string 即不会加'',此时sql会识别此字段为关键字(列名,表名)所以‘$’常常这样用,补单用$
SQL: SELECT * FROM TB_BAS_LKP f where 1 = 1 and f.BUSINESS_TYPE = CURRENCY_TYPE_UNIT_RMB
### Cause: java.sql.SQLException: ORA-00904: "CURRENCY_TYPE_UNIT_RMB": 标识符无效
#的会自动把参数转化为string
Preparing: SELECT * FROM TB_BAS_LKP f where 1 = 1 and f.BUSINESS_TYPE = ?
CURRENCY_TYPE_UNIT_RMB(String)
- mybatis 参数传入,以及#,$占位符区别
- 2017_11_28 学习mybatis多参数传入,以及#,$的区别
- mybatis的传入参数#和$的区别
- Mybatis整理系列(01)————传入参数方式以及#{}与${}的区别
- mybatis 占位符$ 与#区别
- mybatis的占位符区别
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- mybatis传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis+MySQL 传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- MyBatis之传入参数
- HDU4722数位DP
- 哈夫曼树
- Code=-1011 "Request failed: internal server error (500)"
- mybatis的返回形式(bo---map(key--value))
- [总结]C语言二维数组作为函数的参数
- mybatis 参数传入,以及#,$占位符区别
- maven项目打包到远程tomcat报404错误
- 【TensorFlow代码笔记】c_api.h
- a标签加入单击事件 屏蔽href跳转页面
- Intellij IDEA-2016.2.1设置实现Serializable接口的类自动生成serialVersionUID
- edis学习记录02-redis基础数据类型命令
- 后台返回map字符串,前台解析:
- Python数据存储之MySQL(上)
- 反显设计