请问JDBC的DAO传SQL语句时为什么要用问号赋值的方法,而不是字符串拼接?

没有感情的秃头 2019-07-09 05:55:32
今天写练习用的购物车项目时发现字符串直接拼接可以节省一些代码,而且感觉更方便→_→。
...全文
369 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guishuanglin 2019-07-10
  • 打赏
  • 举报
回复
楼上正解, 用?问号是安全第一.....安全第一...安全第一...
Monday_@@ 2019-07-10
  • 打赏
  • 举报
回复
防止SQL注入问题啊 你可以百度一下SQL注入的问题。
雾里看花の 2019-07-10
  • 打赏
  • 举报
回复
直接拼接出现sql注入的问题,例如登录的时候,你这样写

String sql = "select * from user where username='"+username+"' and password='"+password+"'";

如果有心的用户这样输入用户名和密码:
username:admin
password:1234' or '1'='1
然后你的语句就会变成:

select * from user where username='admin' and password='1234' or '1'='1'

这样直接不用密码就可以登录admin用户了,这是很危险的
maradona1984 2019-07-10
  • 打赏
  • 举报
回复
你对节省代码的理解太过于浅显了
星期三 2019-07-09
  • 打赏
  • 举报
回复
避免SQL注入问题,如果拼接的时候有特殊符号会直接影响整个语句
流泪熊猫头 2019-07-09
  • 打赏
  • 举报
回复
字符串拼接存在sql注入问题

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧