mybatis plus 中增删改查及Wrapper的使用

简介: mybatis plus 中增删改查及Wrapper的使用

本文为博主原创,未经允许不得转载:

  mybatis plus 通过封装  baseMapper 以及 ServiceImpl ,实现对数据库的增删改查操作,baseMapper 是我们通常所说的 dao 层或 mapper 层,

ServiceImpl  是我们通常所说的 业务层,其内部标注了事务回滚,以及它内部的实现很多也是通过 baseMapper 进行实现的。

IService 依赖于 Spring 容器,而 BaseMapper 不依赖我们在应用的时候

根据自己的便捷性,选择合适的方法即可。 前面的博客中已经搭建了 spring boot + mybaits plus 的框架,其中定义了 UserMapper 和 UserServiceImpl ,

代码及博客的链接如下:

搭建 spring boot + mybatis plus 项目框架并进行调试

  1. 查询:

    封装查询参数的Wrapper 有两种方式,效果是等同的;

   QueryWrapper<User> wrapper = new QueryWrapper<>();  与  Wrappers.<User>query().lambda() 是相同的

@Slf4j
@SpringBootTest
class DemoApplicationTests {
    @Autowired
    private UserMapper userMapper;
    @Autowired
    private UserService userService;
     @Test
    void query() {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("name", "2");
        // 1.根据QueryWrapper 进行条件查询
        User user = userMapper.selectOne(wrapper);
        // 2.使用 Wrappers 的lamda表达式进行查询
        userService.list(Wrappers.<User>query().lambda().eq(User::getName,"test"));
        Map<String,Object> paramsMap = new HashMap<>();
        paramsMap.put("name","test");
        // 3.使用map封装查询参数,查询列表
        List<User> users= (List<User>) userService.listByMap(paramsMap);
        // 4.查询总数
        int count = userService.count();
        // 5.根据条件查询总数
        int count2 = userService.count(Wrappers.<User>query().lambda().eq(User::getName,"test"));
    }  
}

  2。修改

@Test
    void update() {
        User user = new User();
        user.setAge(23);
        user.setEmail("344");
        user.setName("test333");
        UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id","1");
        // 1.user 中封装修改的属性值, updateWrapper 中封装修改的条件参数值
        userService.update(user,updateWrapper);
        // 2.根据条件修改对应的参数属性值
        userService.update(Wrappers.<User>update().lambda().set(User::getName, "2").eq(User::getAge, 23));
    
     // 3.判断参数是否为空,并进行修改
     String name = "name";
     userService.update(Wrappers.<User>update().lambda().set(StringUtils.isNotBlank(name),User::getName, name).eq(User::getAge, 23));
}

  3.新增

@Test
    void save() {
        User user = new User();
        user.setAge(23);
        user.setEmail("344");
        user.setName("test");
        // 1.使用service新增
        userService.save(user);
        // 2.使用mapper 新增
        userMapper.insert(user);
    }

  4.删除

@Test
    void delete() {
        // 根据条件删除
        userService.remove(Wrappers.<User>query().lambda().eq(User::getAge, 3));
    }

  5.mybatis plus 封装的函数列表:

 

标签: mybatis plus

目录
相关文章
|
6月前
|
XML Java 数据库连接
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
195 21
|
6月前
|
人工智能 Java 数据库连接
MyBatis Plus 使用 Service 接口进行增删改查
本文介绍了基于 MyBatis-Plus 的数据库操作流程,包括配置、实体类、Service 层及 Mapper 层的创建。通过在 `application.yml` 中配置 SQL 日志打印,确保调试便利。示例中新建了 `UserTableEntity` 实体类映射 `sys_user` 表,并构建了 `UserService` 和 `UserServiceImpl` 处理业务逻辑,同时定义了 `UserTableMapper` 进行数据交互。测试部分展示了查询、插入、删除和更新的操作方法及输出结果,帮助开发者快速上手 MyBatis-Plus 数据持久化框架。
447 0
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
|
SQL 存储 Java
基于MyBatis的增删改查操作
基于MyBatis的增删改查操作
79 1
|
SQL 存储 Java
基于MyBatis的增删改查的基础操作
基于MyBatis的增删改查的基础操作
81 0
|
12月前
|
SQL XML Java
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
189 1
|
Java 数据库连接 测试技术
mybatis plus 获取新增实体的主键
mybatis plus 获取新增实体的主键
282 8
|
Java 数据库连接 数据库
mybatis plus 更新值为null的字段
mybatis plus 更新值为null的字段
188 7
|
Java 数据库连接 Spring
搭建 spring boot + mybatis plus 项目框架并进行调试
搭建 spring boot + mybatis plus 项目框架并进行调试
327 4