hibernate的setParameter()方法有什么用?
如题,是hibernate的,不是request对象的....如果我先定义一个String变量name,然后用fromCustomerowhereo.name='"+na...
如题,是hibernate的,不是request对象的....
如果我先定义一个String变量name,然后用from Customer o where o.name='"+ name + "';那么这样就可以不用setParameter()了吧?? 展开
如果我先定义一个String变量name,然后用from Customer o where o.name='"+ name + "';那么这样就可以不用setParameter()了吧?? 展开
7个回答
展开全部
可以这么使用。
但容易引出SQL注入漏洞,不推荐使用!
在编程时,都不推荐直接SQL语句的变量参数通过字符串拼接来实现,因为如果被人利用注入漏洞,可以把你的数据库都轻易破解了。
而用setParameter的方法则是安全的,没有注入漏洞,可以放心使用。
但容易引出SQL注入漏洞,不推荐使用!
在编程时,都不推荐直接SQL语句的变量参数通过字符串拼接来实现,因为如果被人利用注入漏洞,可以把你的数据库都轻易破解了。
而用setParameter的方法则是安全的,没有注入漏洞,可以放心使用。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样不用了,setparameter相当于PreparedStatement里面的用法,可以这么理解!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵 如果我在你的 name字段的 输入部分 输入 : admin';he 你的语句就出毛病了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置你的查询参数用的。
比如 "from Customer o where o.name=?1"
setParameter(1,"java");
=====================
可以,但不建议,因为你得注意SQL注入等问题。
比如 "from Customer o where o.name=?1"
setParameter(1,"java");
=====================
可以,但不建议,因为你得注意SQL注入等问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询