mybatis传单个参数,和<if>标签同时使用的问题
2024-08-25 23:00:35
// Mapper.java
EmerEvent selectByAlarmId(Integer alarmId); // Mapper.xml
<select id="selectByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List" />
from event
<where>
<if test="alarmId != null">
and alarm_id = #{alarmId,jdbcType=Integer}
</if>
</where>
</select>
由于只传了一个参数:alarmId,配置文件中对应的sql里使用if标签,然后报错:
nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'alarmId' in 'class java.lang.Integer'
解决办法:
1.将mapper配置文件中的sql语句中的if判断去掉
<select id="selectByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List" />
from event
where alarm_id = #{alarmId,jdbcType=Integer}
</select>
2.如果想要使用if标签,则将参数alarmId封装到对象或Map中即可
最新文章
- Linux下Keepalived+LVS-DR模式配置高可用负载均衡集群
- jQuery控制tabs打开的数量
- for循环语句的笔试
- 断言与异常(Assertion Vs Exception)
- HR开发 获取信息类型数据
- 判断AngularJS渲染页面完成
- 学习笔记 BIT(树状数组)
- AMD GPU spec (public)
- 快速构建自己的CentOS发行版
- Android 手机设置CMWAP 接入点
- mysql之触发器before和after的区别(2)
- 【POJ】1816 Wild Words
- MFC知识点整理
- SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释
- cxf调用c#的webservice
- ubuntu下java和tomcat安装配置
- 1.2 eclipse使用 :working set
- JAVA 基础之Integer
- windows远程桌面到linux
- vue-文字块收缩与展开功能
热门文章
- Python入门-深浅拷贝
- 360浏览器内核控制标签meta说明
- Scrapy爬虫requests
- Linux基础之命令练习Day3-文件管理:cat,tar,gzip,vim,ln
- KNN 与 K - Means 算法比较
- BottomBar之Android底部菜单
- Jmeter对HTTP请求压力测试、并发测试
- python调用chrome打开指定网址
- Mac终端下 连接 ubuntu 16.04 ssh root@*.*.*.* permission denied 问题解决方案
- 记一次insert因为db file sequential read影响性能导致性能原因的分析