hql如何防止sql注入

lewis 2018-11-29 23次阅读

hql防止sql注入的方法:

1.在HQL语句中定义命名参数要用”:”开头,例如:

Query query=session.createQuery(“from User user where user.name=:customername and user:customerage=:age ”);

query.setString(“customername”,name);

query.setInteger(“customerage”,age);

2.在HQL查询语句中用”?”来定义参数位置,例如:

Query query=session.createQuery(“from User user where user.name=? and user.age =? ”);

query.setString(0,name);

query.setInteger(1,age);

3.在Hibernate的HQL查询中可以通过setParameter()方法邦定任意类型的参数,例如:

String hql=”from User user where user.name=:customername ”;

Query query=session.createQuery(hql);

query.setParameter(“customername”,name,Hibernate.STRING);



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。