mybatis xml文件中传入参数和if结合使用时要注意的地方
2017-04-17 15:59
323 查看
mybatis中如果用了if那么传进来的参数不能直接单独传入,要封装到map或bo中传入,要么去了if
mybatis xml文件中传入参数和if结合使用时要注意的地方:
这里直接传入int但是又用了if所以出错
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'customerKey' in 'class java.lang.Integer'
<select id="getYJSL" parameterType="Integer" resultType="int">
SELECT count(*) yjsl
FROM tb_con_obj A, TB_CON_ORD B
WHERE A.CONOBJ_KEY = B.CONOBJ_KEY
AND A.IS_CONFERPRICE = 'Y'
AND B.ORDER_STATUS = 'A'
AND A.CONOBJ_STATUS <![CDATA[<>]]> 'E'
<if test="customerKey !=null and customerKey!='' ">
AND (B.CUSTOMER_KEY = #{customerKey} or a.customer_key = #{customerKey})
</if>
</select>
====
使用SpringMVC+Mybatis框架写项目的时候,在mapper里面的sql语句处出现了这个错误
<if test="agoTime != null">
and updateTime > #{agoTime}
</if>
原因是:
如果将and语句中的#{属性}写在if语句中,mybatis会去对象中从它的get方法中取值,而我之前是直接传递的值,并没有封装对象。
解决办法:
将属性封装到一个对象中,设置其get方法即可
相关文章推荐
- mabits 传入参数为(Long, String, Integer)在mappe.xml文件中if判断时的坑
- mybatis映射文件中<if>使用注意事项
- MyBatis第三种方式,xml和接口的结合,以及如何获得插入数据的返回参数、传入空的参数
- 使用mybatis时Mapper.xml文件中如何判断多个参数不为空和null
- SSM框架中Mybatis向映射文件(XML)的<insert>元素传入多个数组参数的问题
- 关于mybatis 传入基本参数类型使用if test 判断出错的问题
- oracle数据库,使用Mybatis生成的mapper.xml文件查询日期型参数时,时分秒丢失的问题
- iOS 不使用nib文件需要注意的地方
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- struts.xml配置文件中需要注意的地方
- ROS学习--如何结合launch文件使用参数服务器
- mybatis的xml配置文件中使用select语句数据不全
- Spring/Maven/MyBatis配置文件结合properties文件使用
- 使用UI-Tag的注意点: 请确定/WEB-INF/web.xml文件中的ServletDispatcher 设定为自动加载
- 使用shell的if else fi语句和注意的地方
- source路径等问题 idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)
- 使用Docker Toolbox 创建v1.12.6版的Docker虚拟机的方法-注意正确使用本地文件 file:参数的路径名
- UNION 与LIMIT 结合使用时应该注意的一个地方
- mybatis从dao传入多个参数到sqlmap时dao中要使用map或实例对象(如:user)作为参数传入, 否则报错找不到属性getter方法
- MyBatis使用大全(3)------XML映射文件配置