hibernate之参数绑定
来源:互联网 发布:mic29152数据 编辑:程序博客网 时间:2024/06/05 13:41
hibernate之参数绑定
----------
我们应该拒绝SQL(或HQL)的拼装,应该永远不要编写这样的代码,有这很严重的安全问题,众所周知的SQL注入。我们可以考虑参数绑定,在hibernate中它有两种方式。
1.具名参数
利用具名参数的例子:
参数名称前面的冒号表示这是一个具名参数。然后,对search参数绑定一个值:
由于searchString是一个用户提供的字符串变量,你调用Query接口的setString()方法,把它绑定到具名参数(:search)。这个代码更规则、更安全且执行得更好,因为如果只是绑定参数的变化,单独编译过的SQL语句就可以被重用。
多个参数例:
你已经调用了setString()和setDate()来把实参绑定查询参数。原生的hibernate Query接口提供类似的便利方法,用来绑定大多数hibernate内建类型的参数:从setInteger()到setTimestamp()和setLocale()的一切。
特别有用的一种方法setEntity(),它让你绑定一个特久化实体,如例:
然而,还有一种允许绑定任何hibernate类型实参的一般方法,如例:
2.定位参数
如果你喜欢,你可以使用定位参数,如例:
绑定参数位置的每一个变化都需要改变参数绑定代码,这样就产生了易碎和更需要维护的代码,建议避免使用定位
参数。如果必须使用定位参数,要记住hibernate是从0开始计数(JPA是从1开始记数);
0 0
- hibernate之参数绑定
- hibernate之参数绑定
- hibernate查询之参数绑定
- hibernate之HQL之参数绑定
- Hibernate的参数绑定
- hibernate参数绑定
- hibernate中参数绑定
- Hibernate动态参数绑定
- hibernate绑定参数类型
- Hibernate的参数绑定
- hibernate参数绑定
- Hibernate的参数绑定
- hibernate 的参数绑定
- Hibernate之关于HQL语句参数的绑定
- Hibernate之关于HQL语句参数的绑定
- 【转载】hibernate查询参数绑定
- 【转载】hibernate查询参数绑定
- hibernate Query 绑定参数类型
- sklearn.covariance.EmpiricalCovariance
- C++实现改进的冒泡排序
- Mybatis - 集成Spring
- arcpy.mapping常用四大件-Layer
- 数据缓存设计方案(一致性哈希)
- hibernate之参数绑定
- Java 并发工具包 java.util.concurrent 用户指南
- leveldb研究5- Snapshot
- NOIP2016 蚯蚓
- Android如何取消view的点击音效
- Linux查看CPU和内存使用情况
- Unity和Android交互过程中所踩得坑
- 百度定位上的小bug
- 最简单却又极具扩展性的Java表达式引擎,自创编程语言必备