1、mybaits的配置文件如下:
<select id="selectCentosOrSuse" resultMap="devicemap"
parameterType="java.lang.String">
SELECT deviceID,manageIP,deviceType,isdmz from tbl_copdb_device where deviceID in (
SELECT deviceID FROM tbl_copdb_devicepropertyvalue where
<if test="attributevalue!=null and attributevalue!='' ">
attributevalue=#{attributevalue}
</if>
) and deviceType in (1,2) and ifsystem =1;
</select>
2、执行后报错:
There is no getter for property named 'attributevalue' in 'class java.lang.S
3、网上查改成如下形式即可:
<select id="selectCentosOrSuse" resultMap="devicemap"
parameterType="java.lang.String">
SELECT deviceID,manageIP,deviceType,isdmz from tbl_copdb_device where deviceID in (
SELECT deviceID FROM tbl_copdb_devicepropertyvalue where
<if test="_parameter!=null and _parameter!='' ">
attributevalue=#{_parameter}
</if>
) and deviceType in (1,2) and ifsystem =1;
</select>
4、另外还有种方法也可以解决,删掉if判断即可
<select id="selectCentosOrSuse" resultMap="devicemap"
parameterType="java.lang.String">
SELECT deviceID,manageIP,deviceType,isdmz from tbl_copdb_device w<if test="_parameter!=null and _parameter!='' ">
attributevalue=#{attributevalue}
) and deviceType in (1,2) and ifsystem =1;
</select>
5、最后一种方法是加形参,设置参数类型
public List<Device> selectCentosOrSuse(@Param("attributevalue") String attributevalue) throws Exception;