在项目中,可以是先查询出所有的数据到前台并分页,然后并添加另外的带参数的查询功能,也可以将这个带参数的方法和最开始查询全部数据的方法合在一起,减少代码量。
在此过程中出现了错误,在此记录,以防再犯。
最开始代码:
Mapper.xml
<!-- 查询所有数据 -->
<select id="searchOperator" resultType="GP.operator.Operator">
SELECT *
FROM operatorlog
where 1=1
<if test="null!=operatorModel and ''!=operatorModel ">and operatorModel = #{operatorModel }</if>
</select>
Mapper类的对应方法:
List<Operator> searchOperator( String model);
提示报错:
There is no getter for property named ‘operatorModel’ in class ‘java.lang.String’
修改
Mapper类的对应方法改成:
List<Operator> searchOperator(@Param("params") String model);
Mapper.xml改成:
SELECT *
FROM operatorlog
where 1=1
<if test="null!=params and ''!=params">and operatorModel = #{params}</if>
在Mapper类的对应方法中加上@Param注解,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中。
然后将SQL语句中对应的参数换成注解中的参数名就可以了。