mybatis中将数据库表名或列名当作参数

1.操作方式:

   在mybatis xml中使用 ${列名/表名} 而不是 #{列名/表名}

 说明:${} 只是简单的字符串替换,#{}则是预编译。

 

2.产生问题:

  问题:${}会产生sql注入问题。

  解决方式:

             1.如果只是select 语句 ,可以在service方法中添加 @Transactional(readOnly = true)  (只读事务),也可以在service方法中限制列名和表名的范围。

             2.如果是insert update delete语句,只能在service方法中限制列名和表名的范围。


版权声明:本文为qq_34707456原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。