在Mybatis传值想后台传条件值问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34178998/article/details/83026174

今天遇到一个问题一直报错,我需要向后台传递要查询的条件。

<!-- 根据分组id查询全部信号灯设备 -->
	<select id="selectLightByGroupid" resultMap="DevTrafficLightVo">
		SELECT
		<!-- rg_rgl_group_info.ID AS ID, -->
		rg_rgl_group_info.NAME AS NAME,
		rg_dev_traffic_light.DEV_NAME AS
		DEV_NAME,
		rg_dev_traffic_light.id,
		( SELECT camera_id FROM
		rg_light_camera_link WHERE rg_dev_traffic_light.ID =
		rg_light_camera_link.TRAFFIC_LIGHT_ID )
		AS cameraId,
		rg_cross.CROSS_NAME AS crossName
		FROM
		(
		(
		rg_cross
		JOIN
		rg_dev_traffic_light
		)
		JOIN rg_rgl_group_info
		)
		WHERE
		(
		
		rg_dev_traffic_light.CROSS_ID = rg_cross.ID
		
		AND 
		rg_cross.GROUP_ID =
		rg_rgl_group_info.ID
		
		<if test="groupid != null">
			AND rg_rgl_group_info.ID = #{groupid}
		</if>
		
		)
	</select>

开始时,是直接传递<if>标签中的数据,但是一直报错

There is no getter for property named 'groupid' in 'class java.lang.Long'

后来从网上查到,需要将if标签中的数据

<if test="_parameter != null">
	AND rg_rgl_group_info.ID = #{groupid}
</if>

参考我之前有篇文章。

猜你喜欢

转载自blog.csdn.net/qq_34178998/article/details/83026174