四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发

一、标准CRUD使用对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢?
我们先来看张图:

四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发

文章插图
1.1 环境准备这里用的环境就是Java开发学习(四十)----MyBatisPlus入门案例与简介中使用的环境
二、新增在进行新增之前 , 我们可以分析下新增的方法:
int insert (T t)
  • T:泛型 , 新增用来保存新增数据
  • int:返回值 , 新增成功后返回1 , 没有新增成功返回的是0
在测试类中进行新增操作:
@SpringBootTestclass Mybatisplus01QuickstartApplicationTests {?    @Autowired    private UserDao userDao;?    @Test    void testSave() {        User user = new User();        user.setName("黑马程序员");        user.setPassword("itheima");        user.setAge(12);        user.setTel("4006184000");        userDao.insert(user);  }}执行测试后 , 数据库表中就会添加一条数据 。
四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发

文章插图
但是数据中的主键ID , 有点长 , 那这个主键ID是如何来的?我们更想要的是主键自增 , 应该是5才对 , 这个是我们后面要介绍的主键ID生成策略 , 这块的这个问题 , 我们暂时先放放 。
三、删除在进行删除之前 , 我们可以分析下删除的方法:
int deleteById (Serializable id)
  • Serializable:参数类型
    • 思考:参数类型为什么是一个序列化类?
      四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发

      文章插图
      从这张图可以看出 , 
      • String和Number是Serializable的子类 , 
      • Number又是Float,Double,Integer等类的父类 , 
      • 能作为主键的数据类型都已经是Serializable的子类 , 
      • MyBatisPlus使用Serializable作为参数类型 , 就好比我们可以用Object接收任何数据类型一样 。
  • int:返回值类型 , 数据删除成功返回1 , 未删除数据返回0 。
在测试类中进行新增操作:
@SpringBootTestclass Mybatisplus01QuickstartApplicationTests {?    @Autowired    private UserDao userDao;?    @Test    void testDelete() {        // 传入主键id        userDao.deleteById(1401856123725713409L);  }}?四、修改在进行修改之前 , 我们可以分析下修改的方法:
int updateById(T t);
  • T:泛型 , 需要修改的数据内容 , 注意因为是根据ID进行修改 , 所以传入的对象中需要有ID属性值
  • int:返回值 , 修改成功后返回1 , 未修改数据返回0
在测试类中进行新增操作:
@SpringBootTestclass Mybatisplus01QuickstartApplicationTests {?    @Autowired    private UserDao userDao;?    @Test    void testUpdate() {        User user = new User();        user.setId(1L);        user.setName("Tom888");        user.setPassword("tom888");        userDao.updateById(user);  }}
四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发

文章插图
说明:修改的时候 , 只修改实体对象中有值的字段 。

经验总结扩展阅读