网站定制开发怎么写,seo的站外优化流程,建站时长是什么原因造成的,网站开发英文参考文献目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介#xff0c;在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多#xff0c;我们一个个来学习… 目录 1 标准CRUD使用2 新增3 删除4 修改5 根据ID查询6 查询所有7 MyBatis-Plus CRUD总结 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介在这一节中我们重点学习的是数据层标准的CRUD(增删改查)的实现与分页功能。代码比较多我们一个个来学习本教程所有示例均基于Maven实现如果您对Maven还很陌生请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》
1 标准CRUD使用
对于标准的CRUD功能都有哪些以及MP都提供了哪些方法可以使用呢? 我们先来看张图: 对于这张图的方法我们挨个来演示下: 首先说下案例中的环境就是咱们入门案例的内容第一个先来完成新增功能
2 新增
在进行新增之前我们可以分析下新增的方法:
int insert (T t)T:泛型新增用来保存新增数据int:返回值新增成功后返回1没有新增成功返回的是0
在测试类中进行新增操作:
SpringBootTest
class Mybatisplus01QuickstartApplicationTests {Autowiredprivate UserDao userDao;Testvoid testSave() {User user new User();user.setName(j0ck);user.setPassword(123456);user.setAge(4112);user.setTel(18812345678);userDao.insert(user);}
}执行测试后数据库表中就会添加一条数据。
3 删除
在进行删除之前我们可以分析下删除的方法:
int deleteById (Serializable id)Serializable参数类型 思考:参数类型为什么是一个序列化类? 从这张图可以看出 String和Number是Serializable的子类Number又是Float,Double,Integer等类的父类能作为主键的数据类型都已经是Serializable的子类MP使用Serializable作为参数类型就好比我们可以用Object接收任何数据类型一样。int:返回值类型数据删除成功返回1未删除数据返回0。在测试类中进行新增操作:
SpringBootTest
class Mybatisplus01QuickstartApplicationTests {Autowiredprivate UserDao userDao;Testvoid testDelete() {userDao.deleteById(1401856123725713409L);}
}4 修改
在进行修改之前我们可以分析下修改的方法:
int updateById(T t);T:泛型需要修改的数据内容注意因为是根据ID进行修改所以传入的对象中需要有ID属性值int:返回值修改成功后返回1未修改数据返回0 在测试类中进行新增操作:
SpringBootTest
class Mybatisplus01QuickstartApplicationTests {Autowiredprivate UserDao userDao;Testvoid testUpdate() {User user new User();user.setId(1L);user.setName(Tom888);user.setPassword(tom888);userDao.updateById(user);}
}说明:修改的时候只修改实体对象中有值的字段。
5 根据ID查询
在进行根据ID查询之前我们可以分析下根据ID查询的方法:
T selectById (Serializable id)Serializable参数类型,主键ID的值T:根据ID查询只会返回一条数据
在测试类中进行新增操作:
SpringBootTest
class Mybatisplus01QuickstartApplicationTests {Autowiredprivate UserDao userDao;Testvoid testGetById() {User user userDao.selectById(2L);System.out.println(user);}
}6 查询所有
在进行查询所有之前我们可以分析下查询所有的方法:
ListT selectList(WrapperT queryWrapper)Wrapper用来构建条件查询的条件目前我们没有可直接传为NullList:因为查询的是所有所以返回的数据是一个集合
在测试类中进行新增操作:
SpringBootTest
class Mybatisplus01QuickstartApplicationTests {Autowiredprivate UserDao userDao;Testvoid testGetAll() {ListUser userList userDao.selectList(null);System.out.println(userList);}
}我们所调用的方法都是来自于DAO接口继承的BaseMapper类中。里面的方法有很多我们后面会慢慢 去学习里面的内容。
7 MyBatis-Plus CRUD总结
MybatisPlus是一个基于Mybatis的增强工具提供了很多方便开发的功能其中包括CURD增删改查操作。以下是MybatisPlus的CURD操作的总结 增加操作Create 使用MybatisPlus的Mapper接口的insert方法mapper.insert(entity);使用MybatisPlus的BaseMapper接口的insert方法baseMapper.insert(entity); 查询操作Retrieve 使用MybatisPlus的Mapper接口的selectById方法mapper.selectById(id);使用MybatisPlus的BaseMapper接口的selectById方法baseMapper.selectById(id);使用MybatisPlus的Mapper接口的selectList方法mapper.selectList(queryWrapper);使用MybatisPlus的BaseMapper接口的selectList方法baseMapper.selectList(queryWrapper);使用MybatisPlus的Mapper接口的selectOne方法mapper.selectOne(queryWrapper);使用MybatisPlus的BaseMapper接口的selectOne方法baseMapper.selectOne(queryWrapper);使用MybatisPlus的Mapper接口的selectPage方法mapper.selectPage(page, queryWrapper);使用MybatisPlus的BaseMapper接口的selectPage方法baseMapper.selectPage(page, queryWrapper); 更新操作Update 使用MybatisPlus的Mapper接口的updateById方法mapper.updateById(entity);使用MybatisPlus的BaseMapper接口的updateById方法baseMapper.updateById(entity);使用MybatisPlus的Mapper接口的update方法mapper.update(entity, queryWrapper);使用MybatisPlus的BaseMapper接口的update方法baseMapper.update(entity, queryWrapper); 删除操作Delete 使用MybatisPlus的Mapper接口的deleteById方法mapper.deleteById(id);使用MybatisPlus的BaseMapper接口的deleteById方法baseMapper.deleteById(id);使用MybatisPlus的Mapper接口的delete方法mapper.delete(queryWrapper);使用MybatisPlus的BaseMapper接口的delete方法baseMapper.delete(queryWrapper);
以上就是MybatisPlus的CURD操作的总结通过使用MybatisPlus提供的增强工具可以简化数据库操作的开发工作。