mybatisPlus基础篇

╰半橙微兮° 2024-03-22 21:08 219阅读 0赞

文章目录

  • 通用Mapper接口
    • 简单插入数据-insert
    • 简单删除数据-deleteById
    • 简单修改数据-updateById
    • 简单查询数据-selectById
  • 通用service接口
    • Service接口-插入数据
    • Service接口-删除数据
    • Service接口-修改数据
    • Service接口-查询数据
    • 自定义接口方法
    • 自定义Mapper接口方法

通用Mapper接口

  • Mapper接口继承自BaseMapper接口,由BaseMapper接口提供了很多单表的增删改查相关的操作方法。在这一章节,介绍一些Mapper接口中的方法。

简单插入数据-insert

  • 插入一条数据

    @Test
    void insert(){

    1. User user = new User();
    2. user.setId(6L);
    3. user.setName("Mike");
    4. user.setAge(33);
    5. user.setEmail("test6@powernode.com");
    6. userMapper.insert(user);

    }

简单删除数据-deleteById

  • 根据id删除数据

    @Test
    void deleteOne(){

    1. userMapper.deleteById(6L);

    }

简单修改数据-updateById

  • 测试修改全部数据

    @Test
    void updateById(){

    1. User user = new User();
    2. user.setId(6L);
    3. user.setName("迈克");
    4. user.setAge(35);
    5. user.setEmail("maike6@powernode.com");
    6. userMapper.updateById(user);

    }

  • 测试修改部分数据

    @Test
    void updateById(){

    1. User user = new User();
    2. user.setId(6L);
    3. user.setName("Mike");
    4. user.setAge(35);
    5. user.setEmail("test6@powernode.com");
    6. userMapper.updateById(user);

    }

简单查询数据-selectById

  1. 根据Id查询

    @Test

    1. void selectById(){
    2. User user1 = userMapper.selectById(6L);
    3. System.out.println(user1);
    4. }
  2. 查询所有

    @Test
    void selectList() {

    1. List<User> userList = userMapper.selectList(null);
    2. System.out.println(userList);

    }

通用service接口

  • MybatisPlus还提供了IService接口和对应的实现类ServiceImpl,该实现类已经提供好了一些对应的Service相关的方法,在某些场景下,我们可以直接使用ServiceImpl提供的方法,实现对应的功能。
  • IService接口中包含了service相关的一些增删改查方法
    在这里插入图片描述
  • ServiceImpl实现类提供了service相关的增删改查方法的实现
    在这里插入图片描述
  • UserService接口继承自IService接口
  • UserServiceImpl类继承ServiceImpl
  • 关系如下:
    在这里插入图片描述
  • 注入UserService对象,测试相关方法

    @Autowired
    private UserService userService;

Service接口-插入数据

  1. @Test
  2. void insertService(){
  3. User user = new User();
  4. user.setId(7L);
  5. user.setName("zhangsan");
  6. user.setAge(35);
  7. user.setEmail("zhangsan@powernode.com");
  8. userService.save(user);
  9. }

Service接口-删除数据

  1. @Test
  2. void deleteService(){
  3. userService.removeById(7L);
  4. }

Service接口-修改数据

  1. @Test
  2. void updateService(){
  3. User user = new User();
  4. user.setId(6L);
  5. user.setAge(40);
  6. userService.updateById(user);
  7. }

Service接口-查询数据

  1. @Test
  2. void selectService(){
  3. List<User> userList = userService.selectList();
  4. System.out.println(userList);
  5. }

自定义接口方法

  • 通过继承MybatisPlus提供的Service接口,既可以拓展自己的service方法,也可以使用现有的一些service方法
  • MybatisPlus除了给我们提供了这些丰富的接口方法以外,对于我们自己的需求,也可以编写自定义的接口方法,我们通过自己编写SQL语句的形式,实现想要的SQL需求

自定义Mapper接口方法

  • Mapper接口中提供抽象方法

    @Mapper
    public interface UserMapper extends BaseMapper {

    1. User selectByName(String name);

    }

  • 提供映射配置文件,提供对应的SQL语句

    <?xml version=”1.0” encoding=”UTF-8” ?>
    <!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN”

    1. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">



  • 测试自定义的Mapper接口方法

    @Test
    void myMethod(){

    1. User user = userMapper.selectByName("Jone");
    2. System.out.println(user);

    }

  • 自定义接口的语法规范和之前编写Mybatis的语法规范一样,所以可以看出,MybatisPlus是无侵入式的(引入MybatisPlus并不会对于原先的语法造成任何改变。)

发表评论

表情:
评论列表 (有 0 条评论,219人围观)

还没有评论,来说两句吧...

相关阅读