MyBatis-Plus 基础操作指南:实现高效的增删改查

这篇具有很好参考价值的文章主要介绍了MyBatis-Plus 基础操作指南:实现高效的增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

    大家好,今天我们来聊聊如何使用 MyBatis-Plus(接下来简称为 MP),一个流行的 MyBatis 增强工具,来简化和加速我们的数据库操作。如果你是一位初学者,不用担心,我将带你从头到尾详细了解 MP 的使用方法,特别是如何实现基本的增删改查操作。

为什么选择 MyBatis-Plus?

    在开始详细介绍之前,我们有必要快速了解一下,为什么 MP 如此受欢迎。MP 在保留了原生 MyBatis 操作数据库的灵活性的同时,通过内置的 CRUD 方法大大减少了重复代码的编写,提高开发效率。

准备工作

    用 MP 前,确保你的项目中包含了 MP 的依赖。以 Maven 项目为例,需要在 pom.xml 中添加以下依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>您的具体版本号</version>
</dependency>

实体和 Mapper

   接下来,假设我们的数据库中有一个 user 表,用于存储用户信息。让我们首先来创建一个对应的实体类 User

import com.baomidou.mybatisplus.annotation.TableName;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user") // 指定表名
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

    之后,我们创建一个与之对应的 UserMapper 接口:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User> {
    // 这里可以添加一些你自己的自定义方法。
}

    你看,只要接口继承了 BaseMapper, 它就自动获得了许多内置的基础 CRUD 操作方法。

实现增删改查

    下面,我们来逐一看看如何实现各项数据库操作。

增加(Insert)

    添加一个新的用户到数据库:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    
    @Autowired
    private UserMapper userMapper;
    
    public void addUser() {
        User user = new User(null, "张三", 28, "zhangsan@example.com");
        int result = userMapper.insert(user);
        if (result > 0) {
            System.out.println("插入成功,用户ID:" + user.getId());
        }
    }
}

    在这个例子中,insert 方法会自动处理插入逻辑,并且,如果你的主键是自增类型的,insert 还会把生成的主键值回填到实体类的对应字段中。

查询(Select)

    可能你需要根据用户ID查询用户,或者要查询所有名叫 “张三” 的用户:

public User getUserById(Long id) {
    return userMapper.selectById(id); // 根据ID查询用户
}

public List<User> getUsersByName(String name) {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.eq("name", name);
    return userMapper.selectList(queryWrapper); // 查询所有名叫 "张三" 的用户
}

    这里,selectById 方法很直接,传入主键即可获取数据。selectList 方法配合 QueryWrapper 可以实现复杂的查询逻辑。

更新(Update)

     如果您想更新用户的邮箱地址,可以这么做:

public void updateUserEmail(Long id, String newEmail) {
    User user = new User();
    user.setId(id);
    user.setEmail(newEmail);
    int result = userMapper.updateById(user); // 根据ID更新用户
    if (result > 0) {
        System.out.println("更新成功!");
    }
}

在这里,updateById 将仅更新实体类 User 中非空的字段。

删除(Delete)

删除用户同样简单:

public void deleteUserById(Long id) {
    int result = userMapper.deleteById(id); // 根据ID删除用户
    if (result > 0) {
        System.out.println("删除成功!");
    }
}

在这个例子中,deleteById 方法允许你通过主键快速删除数据记录。

结语

    通过这个初学者指南,我们学习了如何利用 MP 迅速实现增删改查的数据库操作。MP 通过减少样板代码,让开发更加简洁直观,显著提升开发速度和工作享受。

    正如你所看到的,MP 不仅使得数据库操作变得异常简单,而且还支持许多先进特性,例如分页查询、乐观锁等,帮助开发者轻松应对更复杂的业务场景。

    希望本文能帮助你快速上手 MyBatis-Plus,欢迎在开发实践中进一步探索和深化你对 MP 功能的理解和应用!

(友情提醒:上文中所用到的操作,需要结合你的实际开发环境,以及 MP 的最新版本特性来调整使用。)文章来源地址https://www.toymoban.com/news/detail-755575.html

到了这里,关于MyBatis-Plus 基础操作指南:实现高效的增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mybatis-plus的操作(新增,修改)

    一般同时会引入Druid。 MP会默认将模型类的类名首字母小写作为表名使用,假如数据库名称都以tbl_开头,那么我们就需要将所有的模型类上添加@TableName,配置起来还是比较繁琐,简化方式可以在配置文件中配置如下内容: 设置前缀的内容,这样MP就会拿tbl_加上模型类的首字

    2024年02月02日
    浏览(51)
  • spring boot mybatis-plus操作实践

    1、先建一个数据表实体类 2、service目录下新建接口IDeptService,然后扩展mp的IService 3、service目录的impl目录下新建类 DeptServiceImpl,扩展mp的ServiceImpl,实现接口IDeptService,然后注册@Service 注解 4、DeptMapper 接口需要扩展mp的BaseMapper接口 5、调试一下看看是否可以使用

    2024年02月01日
    浏览(50)
  • mybatis-plus update更新操作(三种方式)

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 方式一(UpdateWrapper 条件构造器) 方

    2024年02月11日
    浏览(61)
  • 零基础尝试mybatis-plus读写分离

     看了好几篇博友写的文章,关于spring-boot整合mybatis-plus实现读写分离,不过都是缺这少那的,跑不起来,所以自己实操了一次,做个记录   实现方式为使用Aop切面 1、增加数据库枚举类 2、配置数据源 3、线程轮循切换主从数据库(多主多从的情况下适用) 4、声明路由数据源

    2024年02月08日
    浏览(37)
  • mybatis-plus 复合主键的应用(多主键操作)

    在实际的生产过程中,某些业务场景会用到复合主键来标识唯一性。但是mybatisPlus亦或mybatis都不默认支持对复合主键的操作。刚好再一次实际的数据项目中遇到这个需求了,记录下来。 # 1、首先是导入项目的依赖 这里使用maven管理依赖,依赖于mybatis-plus有版本关联,使用的时

    2023年04月09日
    浏览(41)
  • Mybatis-plus中的DML编程控制--增删改的高级操作

    1.1、id生成策略控制 不同的表应用不同的id生成策略 日志:自增(1,2,3,4,…) 购物订单:特殊规则( FQ23948AK3843) 外卖单:关联地区日期等信息(10 04 20200314 34 91) 关系表:可省略id ······ 名称: @TableId 类型: 属性注解 位置:模型类中用于表示主键的属性定义上方 作用:设置当前类中主

    2024年02月16日
    浏览(43)
  • MyBatis-Plus中的更新操作(通过id更新和条件更新)

    目录 前言 一、通过id更新 二、条件更新 2.1 使用QueryWrapper进行条件更新 2.2 使用UpdateWrapper进行条件更新 总结  本文学习MP中的更新操作方法,带大家一起查看源码,了解更新操作的方法。学会熟练地去运用更新方法解决自己在项目中的问题。 Mybatis-Plus知识点[MyBatis+MyBatis-Pl

    2024年02月06日
    浏览(52)
  • Springboot引入mybatis-plus及操作mysql的json字段

    springboot引入mybatis-plus,创建springboot项目省略 pom文件 配置文件 备注信息 springboot使用mybatis和mybatis-plus没有什么区别,需要注意的是配置文件跟配置名:mybatis-plus 使用mybatis-plus的有点在于,在mybatis的基础上记性了一系列的有效封装,节约了开发时间,有这方面兴趣额同学自行

    2024年02月06日
    浏览(53)
  • mybatis-plus数据权限实现

    数据权限是平台系统中不可分割的一部分,在mybatis框架中,大部分都是基于mybatis拦截器进行数据权限的插入,有的将数据权限参数作为XML的标签,有的是基于注解方式,但是不管这两种方式如何,都必须在拦截器中处理自己解析SQL,稍有不慎或者说没解析到就会出现各种奇

    2024年02月05日
    浏览(35)
  • mybatis-plus配置日志实现方式

    Mybatis-plus是一个基于Mybatis的强大框架,可以帮助开发者快速地开发高质量的数据库应用程序。Mybatis-plus提供了许多配置项,其中一个重要的配置项是log-impl。 log-impl配置项定义了Mybatis-plus的日志实现方式,有两种可选的方式: SLF4J日志实现 如果你的项目已经使用了SLF4J日志框

    2024年02月09日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包