hibernate使用原生SQL语句,给in关键词赋值

本例基于SSH框架。

因为表的字段id是数字类型,所以要先定义List list,如果id字段是字符型,则List的泛型是

 

String checkedIds = "1,2,3";

String sql =  "update T_NEWSYSTEM_POPUP set VISIBLE_USERID = :visibleUserId, SYSTEM_STATUS = :status

                      where id in (:ids)";

 String[] arr = checkedIds.split(",");
        List list = new ArrayList();
        for(String id : arr){
            list.add(Long.parseLong(id));
        }
SQLQuery query = this.getSessionFactory().getCurrentSession().createSQLQuery(sql);
        query.setParameter("visibleUserId", checkedUserId);
        query.setParameter("status","2");
        query.setParameterList("ids",list);//本例中,表的字段id是数字类型
        query.executeUpdate();

你可能感兴趣的:(java专区)