hibernate或jdbc如何进行多个参数语句的数据库操作

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:39:26
我在做一个删除界面,界面的每一行有一个checkbox,当点击不同checkbox后按删除按钮删除,在一个action里面就要执行数据库删除操作,如果有3个按钮被选中,就要造where语句里写3个条件,请问有没有像集合一样的方法进行这种操作呢
你好。
字段是相同的,但值不同啊。
比如 where name="aaa" and name="bbb" and name="ccc"
值越多查询语句就越长啊

将三个选中的数据从hibernate里面查询出来。
然后再执行删除操作,面向对象觉度来思考撒

如果你非要用sql来写,那可以这样。比如你传了n个id过来删除。这n个id你保存在数组当中,比如为userId[];
那sql这样写

StringBuffer sql = new StringBuffer("delete from XXX where 1=2");
for(int i=0;i<userId.length;i++){
sql.append(" or userId="+userId[i]);
}

Query query = getSession().createSQLQuery(sql.toString);
...

你选择多条记录删除,作为查询条件的字段不都是相同的吗?为什么不用循环呢,加上事务控制。通过传递的参数不同,删除不同的记录。

将你不同的值存到数组或集合里
循环删除