码迷,mamicode.com
首页 > 移动开发 > 详细

Mybatis之通用mapper使用注解的方式写动态sql-小结

时间:2020-01-04 12:20:44      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:col   nbsp   出现   close   符号   动态   style   distinct   元素   

使用注解的方式直接在语句中拼写动态SQL语句

注意事项:

  @Select("<script> SELECT DISTINCT project_id FROM `project_partner` WHERE belong=1 AND project_id " +
            "IN " +
            "<foreach item=‘item‘ index=‘index‘ collection=‘ids‘ open=‘(‘ close=‘)‘ separator=‘,‘ >" +
            "#{item}" +
            "</foreach>" +
            "</script>")
    List<Integer> findAllId(@Param("ids") List<Integer> item);

    /**
     * 等价于上者
     * 小结:
     * 如果加上 @Param 注解,(可以不指定parameterType),并且注解值等同于 collection 中的值
     * 如果不加上 @Param 注解,需要指定 collection 的类型,是 list、map、array 的三种类型中的一种
     * 并且使用动态sql的话需要加上 <script> 的闭合标签,并且如果其中出现 < 或 > 符号,需要进行转义,否则会出错:
     *                  Caused by: org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成
     * @Select(    "<script> SELECT DISTINCT project_id FROM `project_partner` WHERE belong=1 AND project_id " +
     *             "IN " +
     *             "<foreach item=‘item‘ index=‘index‘ collection=‘list‘ open=‘(‘ close=‘)‘ separator=‘,‘ >" +
     *             "#{item}" +
     *             "</foreach>" +
     *             "</script>")
     *     List<Integer> findAllId(List<Integer> item);
     */

 

至此,小结结束!

Mybatis之通用mapper使用注解的方式写动态sql-小结

标签:col   nbsp   出现   close   符号   动态   style   distinct   元素   

原文地址:https://www.cnblogs.com/Nickc/p/12148229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!