添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

目录


一、批量删除Batch deletion

1、批量删除功能实现示意图

0.png

2、Mybatis批量删除注意事项:

1、 Mybatis删除这里主要考虑两种参数类型:数组或者集合.

而这点区别主要体现在UserDaoMapper.xml文件中标签的collection属性 :

当collection=”array “时,表名参数为数组;

当collection=”list “时,表名参数为集合.


2、UserDaoMapper.xml 配置

无论Mybatis是与mysql数据库结合,还是与Oracle数据库,都同样适合如下设置与操作.

二、Mybatis批量删除具体实现案例

1、题目:

1.png


2、项目结构图

2.png


3、提前准备jar包

3.png


4、提前准备Mybatis工具类

package com.tjcu.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
 * @author 王恒杰
 * @version 1.0
 * @date 2021/10/12 9:52
 * @email 1078993387@qq.com
 * @Address 天津
 * @Description:
public class MybatisUtil {
     * 线程绑定对象,保证是同一个对象
    private static final ThreadLocal<SqlSession> t1 = new ThreadLocal<>();
    private static SqlSessionFactory factory;
    static {
        InputStream is = null;
        try {
            is = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) {
            e.printStackTrace();
        factory = new SqlSessionFactoryBuilder().build(is);
     * 创建SqlSession
     * @return sqlSession
    private static SqlSession openSession() {
        SqlSession sqlSession = t1.get();
        if (sqlSession == null) {
            sqlSession = factory.openSession();
            t1.set(sqlSession);
        return sqlSession;
     * 调用功能方法
     * @param clazz
     * @return Object
public  static Object getMapper(Class clazz) {
        return openSession().getMapper(clazz);
     * 关闭资源
    public static void close() {
        if (openSession() != null) {
            openSession().close();
        t1.remove();
     * 提交事务,关闭资源
    public static void commit() {
        //1、提交事务
       openSession().commit();
        //2、关闭资源
        close();
        t1.remove();
     * 回滚事务,关闭资源
    public static void rollback() {
        //1、提交事务
        openSession().rollback();
        //2、关闭资源
        close();
        t1.remove();

5、实体类User


6、UserDao接口:

7、UserDaoMapper.xml实现

8、UserService接口


9、UserServiceImpl实现


10、Struts2的Action类

11、Struts2的Web.xml过滤配置【WEB-IF下】

12、Struts.xml中的Struts核心配置文件


13、Mybatis-config.xml Mybatis核心配置文件

14、queryAll.jsp

文末

👉在此,鸣谢:刘浩老师讲解

📌 作者:王恒杰

❌ 勘误: 无

📜 声明: 由于作者水平有限,本文有错误和不准确之处在所难免,本人也很想知道这些错误,恳望读者批评指正!

🍅 欢迎点赞 👍 收藏 ⭐留言 📝


SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除
批量删除也就是同时删除多条数据,首先要把所需要的数据选中, 批量删除它与删除的功能是一样的,只是它们删除的条数不同而已。当然批量删除的逻辑和知识点多,会比删除复杂一点。批量删除需要一个变量来接收返回值,然后获取选中行数据,再把选中行数据中的id获取到并把所有获取到的id进行拼接。确定用户选中了要删除的数据。判断返回来的值的长度,长度大于0说明用户已经选中要删除的数据,否则就提醒用户选择需要删除的数据, 删除成功后刷新表格,提醒用户已删除成功
Mybatis 中 .xml 文件定义 <select|insert|update|delete> 语句如何解析
Mybatis 中 .xml 文件定义 <select|insert|update|delete> 语句如何解析