mybatis的注解轉義符及非空驗證


mybatis注解 @Select 、@Insert、 @Update、@Delete 查詢使DAO層代碼更簡潔,使用注解時常需要用到轉義符。

常用的一些需要轉義的特殊字符:

< < 小於號

> > 大於號

<= 和<= 表示的是一個意思

& & 和

' ’ 單引號

" " 雙引號

  如果sql加上script標簽,代表該條sql以xml解析的方式解析映射,xml解析方式,< 或者 > 應該都用轉義字符。

驗證 equipmentCode、equipmentProducer、ipv4三個字段非空:

@Select({"<script>",
            "select * from r_camera where 1=1 and status=1"
                    + "<if test='equipmentCode!=null and equipmentCode!='''>"
                    + "and equipment_code=#{equipmentCode}"
                    + "</if>"
                    + "<if test='equipmentProducer!=null and equipmentProducer!='''>"
                    + "and equipment_producer=#{equipmentProducer}"
                    + "</if>"
                    + "<if test='ipv4!=null and ipv4!='''>"
                    + "and ipv4=#{ipv4}"
                    + "</if>"
                    + "ORDER BY create_time desc"
                    + "</script>"})
    List<CameraVO> findAll(CameraVO cameraVO);

  

@Select({"<script>",
            "select * from r_camera where 1=1 and status=1"
                    + "<if test='equipmentCode!=null and equipmentCode!=&apos;&apos;'>"
                    + "and equipment_code=#{equipmentCode}"
                    + "</if>"
                    + "<if test='equipmentProducer!=null and equipmentProducer!=&apos;&apos;'>"
                    + "and equipment_producer=#{equipmentProducer}"
                    + "</if>"
                    + "<if test='ipv4!=null and ipv4!=&apos;&apos;'>"
                    + "and ipv4=#{ipv4}"
                    + "</if>"
                    + "ORDER BY create_time desc"
                    + "</script>"})
&apos;&apos;等同於''


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM