建自己的网站多少钱,安徽省建设工程信息网招标公告,河南最新今天的消息,旅游企业做网站主要目的本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等#xff0c;如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址#xff1a;#x1f525;JavaWeb Java入门篇#xff1a; #x1f525;Java基础学习篇 Java进阶学习篇如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址JavaWeb Java入门篇 Java基础学习篇 Java进阶学习篇持续更新中Java进阶学习篇 本系列文章会将讲述有关于如何使用MyBatis完成增删查改的操作预计本系列文章会有以下这些文章在写完本系列的文章后会有一篇文章罗列这些文章以及其地址传送门小伙伴们直接点击查看即可
文章名称文章地址查询所有数据使用映射配置文件实现CRUD操作——查询所有数据查询详情使用映射配置文件实现CRUD操作——通过主键查询对应数据使用映射配置文件实现CRUD操作——多条件查询使用映射配置文件实现CRUD操作——动态SQL优化条件查询添加数据使用映射配置文件实现CRUD操作——添加数据修改全部字段 修改动态字段使用映射配置文件实现CRUD操作——修改数据删除一条数据批量删除数据
一、前言
本文将讲述有关于删除数据的相关知识点。同样的这里有删除单条数据和批量删除数据使用的方法不同所以这里会写两个不同的方法来分别实现这两个效果
二、删除单条数据
1.BrandMapper接口
这里构造一个含参数的方法参数部分传递需要删除数据对应的id
void deleteById(int id);2.SQL语句
删除语句的语法是DELETE FROM 表名 WHERE 条件··· 删除单条语句的语法也很简单这里由于不知道传递的id是什么所以要用一个参数占位符来写 delete iddeleteByIddelete from tb_brand where id #{id};/delete3.测试类
这里只需要传递一个需要删除的数据的id即可这里就不再列出代码在下面讲述批量删除数据的时候会写出具体的代码
//执行方法
brandMapper.deleteById(id);三、批量删除数据
1.BrandMapper接口
由于我们要删除多个数据那么就要把需要删除数据的id主键添加到一个集合中到时候只需要删除集合内的id即可要注意的是MyBatis 会将数组参数封装成Map集合key名称为array所以要使用Param注解改变Map集合默认名称改为我们所希望的名称那么就要把这个名称传递到注解后的参数中
void deleteByIds(Param(ids) int[] ids);2.SQL语句
按照语法应该是DELETE FROM 表名 WHERE id IN ···但是由于我们是以数组形式来存储id的所以要遍历数组取出id再删除对应的数据。在MyBatis中有foreach标签帮助我们遍历数组在这个标签中还有几个需要知道的标签 collection数组名称 separator分隔符 open起始处拼接符号 close结束时拼接符号 delete iddeleteByIds!--separator分隔符open起始处拼接符号close结束时拼接符号--delete from tb_brand where idin (foreach collectionids itemid separator, #{id}/foreach);/delete这里还有另一种写法加上标签open( close)但是要注意 in后面的括号要删除否则会报错java.sql.SQLException: Operand should contain 1 column(s) delete iddeleteByIds!--separator分隔符open起始处拼接符号close结束时拼接符号--delete from tb_brand where idin foreach collectionids itemid separator, open( close)#{id}/foreach;/delete3.测试类
在传递参数时要注意传递的是刚刚我们自己设定的数组名称
public class MyBatisTest_deleteByIds {Testpublic void deleteByIds() throws IOException {//接收参数int[] ids {5,6};//加载MyBatis的核心配置文件获取SqlSessionFactoryString resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);//SqlSession获取对象SqlSession sqlSession sqlSessionFactory.openSession();//获取BrandMapper接口代理对象BrandMapper brandMapper sqlSession.getMapper(BrandMapper.class);//执行方法brandMapper.deleteByIds(ids);//提交事务sqlSession.commit();//释放资源sqlSession.close();}
}我们刷新一下看表格中是否还有id为5和6的数据发现全部被删除了也就是说可以实现批量删除数据的功能
四、结语
至此使用MyBatis实现CRUD操作使用配置文件形式已经全部都讲解完毕了所有的链接也在文章开头处的表格中了有需要的小伙伴可以自己点击链接查看。接下来会讲述新的知识点