zoukankan      html  css  js  c++  java
  • 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;等同于''
  • 相关阅读:
    QML类型说明-ParallelAnimation
    QML基本可视化元素--Text
    qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
    JavaScript toFixed() 方法
    FM/AM收音机原理
    Q_INVOKABLE与invokeMethod用法全解
    SQL问题(面试题)
    数组、List和ArrayList的区别
    catch/finally中不应使用 writer.flush()
    Spring AOP整理
  • 原文地址:https://www.cnblogs.com/koudaiyoutang/p/12156970.html
Copyright © 2011-2022 走看看