1.层次清晰,HQL长了之后代码也不显得乱
2.确实可以提高一定效率
3.安全性考虑,防止一些注入性攻击, 举个例子如果你的ruleCode变量从jsp页面获得,是客户手动输入的,那么客户如果恶意的输入一些特殊的字符 如 'or'='or' 那么你的HQL解析成SQL就变成
select * from CategoryRule vc where vc.ruleCode = ‘or’='or' ,如果这是用户名或者密码, 这样可能就能非法登录系统 ,或者获得后台一些数据错误信息的反馈。
采用setString就会把'or'='or' 整体当成一个串,就不会出现这种问题
你好!
1.系统得将你的HQL语句转换成SQL语句才能执行,用占位符可以预先编译,提高执行效率
2.增加代码可读性
3.防止SQL注入
希望对你有所帮助,望采纳。
用占位符的目的是绑定变量,这样可以减少数据库对SQL的硬解析,所以执行效率会提高不少。
热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- iOS 14/iPadOS 14开发者预览版Beta8升级方法及更新内容
- 质因数分解板子
- 简介iOS开发中应用SQLite的模糊查询和常用函数
- 约瑟夫优化
- iOS/iPadOS 14.2Beta 1怎么升级?iOS/iPadOS 14.2开发者预览版Beta 1升级方法
- iOS13.7还能降级吗 iOS13.6.1已关闭验证
- iOS14提醒事项App有哪些改动 iOS14提醒事项功能介绍
- iOS14如何修改小组件 小组件添加和删除方法
- 苹果 iOS 14 Beta 7怎么样 苹果iOS14开发者预览版Beta7更新内容
- iOS/iPadOS 14 Beta 7值得升级吗?iOS/iPadOS 14 Beta 7更新介绍
爱漂亮爱段子