Mybatis通过原生sql查询Map结果集注意事项

背景:

开发中有时会遇到各种事,比如项目组有Utils类方法,解析脚本后得到一个较长的sql语句,通过原生jdbc的原生ps方法查询时查不到数据的情况。

首先个人肯定是不建议在Utils里解析脚本后拼接sql的,存在sql注入的危险。

那如何用myabtis动态生成sql(整个sql都是动态的,不确定性非常大,sql来源于脚本),又得防止sql注入问题?

最好的办法还是在脚本生成的步奏进行限制,对某些关键字进行限制,保存时进行过滤。

 

现在项目赶着上线,ps出现了映射问题,查询交给了mybatis去查询,参数只有一个,就是这个解析后的sql,返回结果为hashmap(属性和值都不确定)

需要注意的是$符号,因为整个sql语句里一定存在关键符号,防止被转义使用${str}把原sql完整设置上去。

 mapper接口里要加上@Param

 最后查询结果map里只会有有值的key-value对

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值