admin管理员组文章数量:1794759
spring框架的@Param注解的使用
框架环境为spring+SpringSecurity+Mybatis框架
我是一个小白,最近看公司项目,发现在Mapper层有这样一段代码:
List<T> findAll(@Param("query") Map<String, Object> params); 然后找到对应的XML如下: <select id="findAll" parameterType="java.util.Map" resultType="WorkKing"> SELECT <include refid="column" /> FROM s_work_kind w where w_id=#{queryId} <if test="query.name !=null and query.name != ''"> AND (w.name LIKE CONCAT('%',#{query.name,jdbcType=VARCHAR},'%') or w.code LIKE CONCAT('%',#{query.name,jdbcType=VARCHAR},'%')) </if> <if test="query.status !=null and query.status !=''"> AND w.status=#{query.status} </if> <!-- 只有性别不为空才会区间查询 --> <if test="query.gender != null and query.gender !=''"> <if test="query.gender == 0 & query.startyear!=null and query.startyear!=0 &query.stopyear!=null and query.stopyear!=0"> AND w.man_year BETWEEN #{query.startyear} AND #{query.stopyear} </if> <if test="query.gender == 1 & query.startyear!=null and query.startyear!=0 &query.stopyear!=null and query.stopyear!=0"> AND w.woman_year BETWEEN #{query.startyear} AND #{query.stopyear} </if> </if> ORDER BY w.create_date </select> XML代码比较长,我们只需要关注<if>标签里面的条件即可,我也不写验证过程了,直接写我论证的结果:结果:当Mapper层的参数为对象或者是Map形式时,XML中的if条件或者说使用都需要加上Param注解的参数名作为前缀点出,如果参数直接是一个非对象和Map形式的参数,那么就不需要点出,直接用也是可以的。
版权声明:本文标题:spring框架的@Param注解的使用 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687050058a130342.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论