MyBatis Plus Mapper CRUD接口测试方式

 更新时间:2024年09月20日 09:06:27   作者:小大宇  
在数据库管理系统中,插入记录是添加新数据条目,而删除操作包括根据主键ID单条删除和批量删除,也可以基于特定条件进行删除,删除操作的SQL语句是通过键值对在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value2

MyBatis Plus Mapper CRUD接口测试

插入

插入一条记录

int insert(T entity);

删除

根据主键ID删除,主键ID支持String、Number类型

int deleteById(Serializable id);

根据主键ID批量删除

int deleteBatchIds(Collection<? extends Serializable> idList);

根据条件进行删除。原理为SQL语句拼接,因此Map中需要传输数据库字段列

实质为 delete from 表 where 【key1 = value1】 AND 【key2 = value2】

【key1-value1】【key2-value2】为Map的键值对

int deleteByMap(Map<String, Object> columnMap);

更新

根据ID更新。null值忽略。

        Employee employee = new Employee();
        employee.setId(7);
        employee.setLastName("a");
        employee.setAge(23);
        employee.setEmail(null);
        employee.setGender(null);
        mapper.updateById(employee);

 UPDATE tb_employee SET last_name='a', age=23
 WHERE id=7;

根据条件更新,null值忽略。

        Employee employee = new Employee();
        employee.setId(7L);
        employee.setLastName("c");
        //这里设置的null,就是说不操作email字段
        employee.setEmail(null);
        employee.setGender(null);
        employee.setAge(23);
        mapper.update(employee, new UpdateWrapper<Employee>().lambda()
                .eq(Employee::getId, 7)
        );

 UPDATE tb_employee SET last_name='c', age=23
 WHERE (id = 7);

定制置空。

        Employee employee = new Employee();
        employee.setId(7L);
        employee.setLastName("c");
        //这里设置的null,就是说不操作email字段
        employee.setEmail(null);
        employee.setGender(null);
        employee.setAge(23);
        mapper.update(employee, new UpdateWrapper<Employee>().lambda()
                .eq(Employee::getId, 7)
                //这里可以定制置空SQL
                .set(Employee::getEmail,null)
                .set(Employee::getGender,"")
        );

 UPDATE tb_employee SET last_name='c', age=23, email=null,gender=''
 WHERE (id = 7);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring boot集成loback日志配置的示例代码

    spring boot集成loback日志配置的示例代码

    这篇文章主要介绍了spring boot集成loback日志配置的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • SpringBoot测试WebMVC的4种实现方案

    SpringBoot测试WebMVC的4种实现方案

    在项目开发中,测试是确保应用质量的关键环节,对于基于SpringBoot构建的Web应用,高效测试MVC层可以极大提高开发及联调效率,下面我们来看看SpringBoot中测试WebMVC的4种实现方案吧
    2025-04-04
  • JavaWeb登录界面登录失败在同一页面进行提示的解决

    JavaWeb登录界面登录失败在同一页面进行提示的解决

    这篇文章主要介绍了JavaWeb登录界面登录失败在同一页面进行提示的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • springmvc常用注解标签详解

    springmvc常用注解标签详解

    本篇文章主要介绍了springmvc常用注解标签详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java多线程中ReentrantLock与Condition详解

    Java多线程中ReentrantLock与Condition详解

    这篇文章主要介绍了Java多线程中ReentrantLock与Condition详解,需要的朋友可以参考下
    2017-11-11
  • Java计算程序代码执行时间的方法小结

    Java计算程序代码执行时间的方法小结

    这篇文章主要介绍了Java计算程序代码执行时间的方法,结合实例形式总结分析了java采用毫秒数及纳秒数计算程序运行时间的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • Java利用Spire.Doc for Java实现HTML转为XML与XPS

    Java利用Spire.Doc for Java实现HTML转为XML与XPS

    在现代企业应用中,数据交换与文档处理扮演着至关重要的角色,本文将为您介绍如何使用Spire.Doc for Java高效实现将HTML 内容转换为 XML 和 XPS 格式
    2026-01-01
  • spring的jdbctemplate的crud的基类dao

    spring的jdbctemplate的crud的基类dao

    本文主要介绍了使用spring的jdbctemplate进行增删改查的基类Dao的简单写法,需要的朋友可以参考下
    2014-02-02
  • SpringBoot和前端Vue的跨域问题及解决方案

    SpringBoot和前端Vue的跨域问题及解决方案

    所谓跨域就是从 A 向 B 发请求,如若他们的地址协议、域名、端口都不相同,直接访问就会造成跨域问题,跨域是非常常见的现象,这篇文章主要介绍了解决SpringBoot和前端Vue的跨域问题,需要的朋友可以参考下
    2023-11-11
  • IDEA插件(BindED)之查看class文件的十六进制

    IDEA插件(BindED)之查看class文件的十六进制

    这篇文章主要介绍了IDEA插件(BindED)之查看class文件的十六进制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论