/**
* 刪除性別爲man,年齡爲 11,12 的Person記錄
*/
public int deletePerson(Map<String, Object> map) {
List<Person> personList=new ArrayList<Person>();
Person p1=new Person(11);
person p2=new Person(12);
personList.add(p1);
personList.add(p2);
map.put("personList", personList);
map.put("sex",'man');
return getSqlMapClientTemplate().delete(
"person.deletePerson", map);
}
* 刪除性別爲man,年齡爲 11,12 的Person記錄
*/
public int deletePerson(Map<String, Object> map) {
List<Person> personList=new ArrayList<Person>();
Person p1=new Person(11);
person p2=new Person(12);
personList.add(p1);
personList.add(p2);
map.put("personList", personList);
map.put("sex",'man');
return getSqlMapClientTemplate().delete(
"person.deletePerson", map);
}
<!-- 刪除相應的person記錄 -->
<delete id="deletePerson" parameterClass="map">
delete from 表名 where sex=#sex#
<iterate prepend="and" property="personList" open="("
close=")" conjunction="or">
age=$personList[].age$
</iterate>
</delete>
<delete id="deletePerson" parameterClass="map">
delete from 表名 where sex=#sex#
<iterate prepend="and" property="personList" open="("
close=")" conjunction="or">
age=$personList[].age$
</iterate>
</delete>
delete from 表名 where sex='man' and (age =11 or age=12)
當然你也可以這麼寫:
person.xml如下:
<!-- 刪除相應的person記錄 -->
<delete id="deletePerson" parameterClass="map">
delete from 表名 where sex=#sex# and age in
<iterate property="personList" open="("
close=")" conjunction=",">
$personList[].age$
</iterate>
</delete>
<delete id="deletePerson" parameterClass="map">
delete from 表名 where sex=#sex# and age in
<iterate property="personList" open="("
close=")" conjunction=",">
$personList[].age$
</iterate>
</delete>
delete from 表名 where sex='man' and age in (11 ,12)
最後Person代碼大致如下:
public class Person{
public Person(int age){
this.age=age;
}
/**
* 年齡
*/
private int age;
/**
* 性別
*/
private String sex;
//get/set方法略
...
}//end of Person
public Person(int age){
this.age=age;
}
/**
* 年齡
*/
private int age;
/**
* 性別
*/
private String sex;
//get/set方法略
...
}//end of Person