MyBatis 参数类型为String时常见问题解决方法
来源:互联网 发布:马前课手指算法图解 编辑:程序博客网 时间:2024/05/29 05:56
1. 参数为String时的插值问题
假设有下面一Dao接口方法
public Account findByAccountType (String type)throws DaoException;
对应的Mapper.xml
<select id="findByAccountType " parameterType="string" resultType="account"> select * form account <where> <if test ="type != null"> type=#{type} </if> </where></select>
一般我们都是按这样的方式来写的,对于其他类型是没错的,但是如果为String的话会抛下面的异常:
There is no getter for property named 'type ' in 'class java.lang.String'
因为MyBatis要求如果参数为String的话,不管接口方法的形参是什么,在Mapper.xml中引用时需要改变为_parameter才能识别 :
<select id="findByAccountType " parameterType="string" resultType="account"> select * form account <where> <if test ="_parameter!= null"> type=#{_parameter} </if> </where></select>
2. 对字符串参数进行是否相等 比较时的问题
错误:
<if test="_parameter == '1' "> type=#{_parameter}</if>
正确:
<if test='_parameter == "1" '> type=#{_parameter}</if>
<if test="_parameter == '1'.toString() "> type=#{_parameter}</if>
注:上述问题不仅限于<if>
标签,其他动态sql标签在对String进行处理时也会出现同样的问题。
1 1
- MyBatis 参数类型为String时常见问题解决方法
- MyBatis 参数类型为String时常见问题及解决方法
- mybatis查询参数为0且类型不是string的小问题
- mybatis中传入String类型参数异常
- 对于mybatis传入string类型的参数
- mybatis 传入String 类型的参数
- R语言做数据挖掘时常见问题解决方法
- MyBatis 动态SQL String 参数为空
- DLL 参数为string类型详解
- mybatis 参数为String,if test读取该参数
- mybatis中传入String类型参数的问题
- @RequestMapping方法返回值为String类型
- Mybatis进行id类型、String类型、map类型、ben类型参数传入Sql查询
- Mybatis进行id类型、String类型、map类型、ben类型参数传入Sql查询
- MyBatis框架中Mapper方法中的参数问题解决方案
- mybatis 参数为String时的插值问题
- Mybatis多参数查询方法,多个参数类型相同
- 传递类型为参数的方法
- Hive_9. Hive Streaming -- 待完善
- Java NIO系列教程(三) Buffer
- Unity3D下NGUI插件使用中文TrueTypeFont(ttf)字库教程
- 使用 后退键/history.back()出现"警告: 网页已过期的解决办法"
- UITableViewCell分割线顶边
- MyBatis 参数类型为String时常见问题解决方法
- Android应用中使用及实现系统“分享”接口
- Hive_10. Hive中常用的 SerDe 和 当前社区的状态
- 在流程图中求支配点的一种快速算法+[CodeChef FEB14]Graph Challenge解题报告(求半支配点)
- PotPlayer播放器在双屏扩展模式下,视频播放时所遇到的几个常见问题的专业解答
- 使用URL访问网络资源
- TextView控件之跑马灯效果
- 基础概念之快速傅里叶变换
- 处女作:行动都去哪儿了?