(一).动态sql (or) 实现批量删除
<!-- 删除学生信息 -->
<delete id="delStu" parameterType="Student">
delete from student where id in
<foreach collection="list" item="item" open="(" separator="," close=")">#{item}</foreach>
</delete>
说明:
userMapper.xml 文件 ,实现批量删除学生信息,传入id 可能是一或多值,存于list中。
以下代码实现将前台获取的ids存于list中。调用delStu方法的时,传入参数list。
List<Integer> list = new ArrayList<Integer>(); //list对象
for(int i=0;i<arr.length;i++)
{
int arr1 =Integer.parseInt(arr[i]); //依次取出存入list中
list.add(arr1);
}
var arr = [];
$("input[name='box']:checked").each(function(i){ //对name为box的每个选中的选框进行操作
arr[i] = $(this).val(); //取值
});
if(arr==""||arr==null){
alert("请选择你要删除的项目");
}
var data ="arr="+arr;
$.ajax({ //ajax传值
说明:
前台对选中的选框进行取值即ids并存放到arr数组中,经过ajax传值到cotroller层。
(二).Sql语句 (between and) 实现范围查找
<!-- 查询分数范围信息 -->
<select id="findInfoByRange" parameterType="Pac" resultType="Student">
select * from student
<where>
<if test="name!=null">
<choose>
<when test="name=='chinese'">
chinese
</when>
<when test="name=='maths'">
maths
</when>
<when test="name=='english'">
english
</when>
</choose>
</if>
BETWEEN
#{min} and #{max}; //最低分数和最低分数,在前面三种情况之下。
</where>
</select>
说明:
这个一个userMapper.xml中的sql语句,实现在语文或数学或英语栏目中,在限制了分数最低和最高下查找范围内的所有
数据,choose语句相当于switch语句 when 为case情况。