hibernate使用原生SQL語句,給in關鍵詞賦值

本例基於SSH框架。

因爲表的字段id是數字類型,所以要先定義List<Long> list,如果id字段是字符型,則List的泛型是<String>

 

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<Long> list = new ArrayList<Long>();
        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();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章