ibatis简略

代码审计看到 系统采用SSI架构,之前没有正式这样运用过,看看实例,记录下ibatis一些注意项:

一、# 和 $符号的区别

1.#把传入的数据当作字符串处理,相当于jdbc预处理中的?,这样,在很大程度上能防止SQL注入

2.$把传入的数据直接生成在SQL里,无法防止SQL注入

3.能用#的就别用$符号


二、iterator

<isPropertyAvailable property="marketIdList">  
    <isNotNull property="marketIdList" prepend=" and marketId in ">  
        <iterate property="marketIdList" conjunction="," close=")" open="(">  
            #marketIdList[]#  
        </iterate>  
    </isNotNull>  
</isPropertyAvailable>

注意 iterate 的property属性,虽然你上面的isNotNull什么的都有这句,但这里一定要写清楚,否则ibatis会找不到你的list的


三、<![CDATA[          ]]>

将特殊字符进行转义,防止SQL语句异常终端。注意使用范围 尽可能小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值