1.xml文件 foreach标签拼接in条件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <mapper namespace="com.xiang.mapper.UserMapper"> <!-- 定义公共属性 --> <sql id="userColumns"> id,name,address </sql> <!-- 按ID删除单条用户 --> <delete id="deleteOneById" parameterType="Integer"> delete from user where id = #{id} </delete> <!-- 按IDs批量删除用户 --> <delete id="deleteBatchByIds" parameterType="java.util.List"> delete from user where id in ( <foreach collection="list" item="item" separator=","> #{item} </foreach> ) </delete> </mapper>
2.mapper
1 2 3 4
public interface UserMapper { public void deleteOneById(Integer id); public void deleteBatchByIds(List<Integer> ids); }
3.dao 删除操作,需要手动提交事务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
public void deleteOneById(Integer id){ SqlSession sqlSession = null; sqlSession = GetSqlSessionFactory.getInstance().getSqlSessionFactory().openSession(); if (sqlSession != null) { UserMapper userMapper = sqlSession.getMapper(UserMapper.class); userMapper.deleteOneById(id); sqlSession.commit(); sqlSession.close(); } } public void deleteBatchByIds(List<Integer> ids){ SqlSession sqlSession = null; sqlSession = GetSqlSessionFactory.getInstance().getSqlSessionFactory().openSession(); if (sqlSession != null) { UserMapper userMapper = sqlSession.getMapper(UserMapper.class); userMapper.deleteBatchByIds(ids); sqlSession.commit(); sqlSession.close(); } }
4.service 在service中进行参数有效性验证及参数类型转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public void deleteOneById(String id){ if (id != null &&!"".equals(id.trim())) { UserDao userDao = new UserDao(); userDao.deleteOneById(Integer.valueOf(id)); } } public void deleteBatchByIds(String[] ids){ UserDao userDao = new UserDao(); List<Integer> idList = new ArrayList<Integer>(); for (String id : ids) { idList.add(Integer.valueOf(id)); } userDao.deleteBatchByIds(idList); }
近期评论