• #{}和${}的区别


        <span style="font-size:18px;">delete from  
        ups_role_permission_dataparams  
        where role_id = #{roleId,jdbcType=INTEGER}</span>  

    在这里用到了#{},使用#时:

    1、用来传入参数,sql在解析的时候会加上" ",当成字符串来解析 ,如这里 role_id = "roleid";

    2、#{}能够很大程度上防止sql注入;

    延伸:

    1、用${}传入数据直接显示在生成的sql中,如上面的语句,用role_id = ${roleId,jdbcType=INTEGER},那么sql在解析的时候值为role_id = roleid,执行时会报错;

    2、${}方式无法防止sql注入;

    3、$一般用入传入数据库对象,比如数据库表名;

    4、能用#{}时尽量用#{};

    5、@value使用#{}来获取配置文件的参数

    注意:

    mybaties排序时使用order by 动态参数时需要注意,使用${}而不用#{};

  • 相关阅读:
    uniapp 请求附近地址列表
    uniapp 图片视频上传
    城市定位
    日历签到
    uniapp拼团倒计时函数
    时间过滤器
    倒计时函数
    vuex的使用
    毛玻璃效果
    Pullword 中文分词
  • 原文地址:https://www.cnblogs.com/television/p/8761508.html
Copyright © 2020-2023  润新知