sql与hql传递参数

来源:互联网 发布:苹果分线器推荐知乎 编辑:程序博客网 时间:2024/05/17 01:03

1、采用StringBuilder  StringBuffer拼接字符串生成语句方式

     在这种方式中,hql 可以使用问号(?)   代替参数   再通过set方式传入参数;    但在sql语句中不能使用问号传参, sql语句想采用这种方式传参的话  可以用    “”+param+""  的形式传入参数  param处填写传入的参数    然后再采用toString 生成语句即可。


2、直接写语句方式 

hql采用new数组的方式传参或者set方式传参都可以

例如:.find(" from CustomerCountDto t where t.dayId=?",new Object[]{dayId})

sql语句采用问号方式   然后通过set方式传递参数

3、传递集合参数

hql和sql一样 都可以通过       in (:name)            .setParameterList("name", paramList)   方式传递集合参数   其中 两处的name必须相同

例如:List<CustomerCountDto > list = session.createQuery(" from CustomerCountDto  where dayId in (:isList)")

.setParameterList("isList", paramList)

.list;

paramList即为传递进来的集合

0 0