使用mybatis的@Select注解的条件判断的时候遇到一个问题
刚开始的写法是
@Select("<script>" +
" select id as id" +
" from `repayment_plan` " +
" where " +
" state = 'OVERDUE' " +
" <if test='collectionUserId != null and collectionUserId != '' ' >" +
" and collection_user_id = #{collectionUserId}" +
" </if>" +
" </script>")
List<CollectionSomePropertiesDTO> get1(@Param(value = "collectionUserId") Long collectionUserId, @Param(value = "isFirstLoad") Integer isFirstLoad);
启动项目报错
`Caused by: org.xml.sax.SAXParseException: 元素类型 “if” 必须后跟属性规范 “>” 或 “/>”。
修改后如下面代码:(改动内容是test后是转义符号 \")
@Select("<script>" +
" select id as id" +
" from `repayment_plan` " +
" where " +
" state = 'OVERDUE' " +
" <if test=\"collectionUserId != null and collectionUserId != '' \" >" +
" and collection_user_id = #{collectionUserId}" +
" </if>" +
" </script>")
List<CollectionSomePropertiesDTO> get1(@Param(value = "collectionUserId") Long collectionUserId, @Param(value = "isFirstLoad") Integer isFirstLoad);
版权声明:本文为xupengbo527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。