Java MyBatis根据id来删除数据库数据(单个删除&批量删除)
Java MyBatis根据id来删除数据库数据(单个删除&批量删除)
·
1.单个删除
步骤:
(1).编写接口方法Mapper接口 void deleteById(int id);
参数:一个
返回值结果为:void
(2).编写sql语句:sql映射文件
(3).执行方法,测试(4).结果
(1).编写接口方法Mapper接口 void deleteById(int id);
//7.根据id来删除数据(删除一个)
void deleteById(int id);
(2).编写sql语句:sql映射文件
<!--7根据id来删除对应的数据(删除一个)-->
<delete id="deleteById">
delete from tb_brand where id = #{id};
</delete>
(3).执行方法,测试
/**
* 7.根据id来修改对应的数据(删除一个)
* @throws IOException
*/
@Test
public void deleteById()throws IOException {
//1.加载mybatis的核心配置文件,获取SQL session factory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);//把字符串传进来,转换成一个字节输入流
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SQL session的对象用它来执行sql >>> 并且自动提交事务
//SqlSession SqlSession = sqlSessionFactory.openSession();
SqlSession SqlSession = sqlSessionFactory.openSession(true);//自动提交事务
//3.获取BrandMapper接口的代理对象
BrandMapper brandMapper = SqlSession.getMapper(BrandMapper.class);
//4.执行方法
//定义一个局部变量用来接受参数
Integer id = 13;
brandMapper.deleteById(id);
//5.释放资源
SqlSession.close();
}
2.批量删除
步骤:
(1).编写接口方法Mapper接口 void deleteByIds( @Param("ids")int [] ids);
参数: 数组
返回值结果为:void
(2).编写sql语句:sql映射文件
(3).执行方法,测试
(4).结果
(1).编写接口方法Mapper接口
//7.1 根据id数组来删除对应的数据(批量删除)
void deleteByIds( @Param("ids")int [] ids);
(2).编写sql语句:sql映射文件
7.1 根据ids数组除对应的数据(批量删除) collection="ids" 指的是你要遍历的数组或者集合 ( mybatis会将数组擦部署封装成一个Map集合 *默认:array = 数组 所以 collection="array" *若不想写array,则将 @Param("ids")添加进接口方法内,即void deleteByIds( @Param("ids")int [] ids);所以就可以写成collection="ids"了) item="id" 指的是遍历出来的每一个元素 separator="," 指的是分隔符的意思 相当于 id=#{id}
<delete id="deleteByIds">
delete from tb_brand where id in
<foreach collection="ids" item="id" separator="," open="(" close=")">#{id}</foreach>
;
</delete>
(3).执行方法,测试
/**
* 7.1根据id数组来修改对应的数据(批量删除)
* @throws IOException
*/
@Test
public void deleteByIds()throws IOException {
//1.加载mybatis的核心配置文件,获取SQL session factory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);//把字符串传进来,转换成一个字节输入流
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SQL session的对象用它来执行sql >>> 并且自动提交事务
//SqlSession SqlSession = sqlSessionFactory.openSession();
SqlSession SqlSession = sqlSessionFactory.openSession(true);//自动提交事务
//3.获取BrandMapper接口的代理对象
BrandMapper brandMapper = SqlSession.getMapper(BrandMapper.class);
//4.执行方法
//定义一个局部变量用来接受参数
int [] arr = {3,4,5};
brandMapper.deleteByIds(arr);
//5.释放资源
SqlSession.close();
}
更多推荐
已为社区贡献2条内容
所有评论(0)