MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在==简化开发、提高效率==
MyBatisPlus的官网为:
-
-
强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
-
支持 Lambda:编写查询条件无需担心字段写错
-
支持主键自动生成
-
内置分页插件
-
1 .标准CRUD使用
对于标准的CRUD功能都有哪些以及MP都提供了哪些方法可以使用呢?
我们先来看张图:
2.新增
在进行新增之前,我们可以分析下新增的方法:
@SpringBootTest class Mybatisplus01QuickstartApplicationTests { @Autowired private UserDao userDao; @Test void testSave() { User user = new User(); user.setName("艾路缇"); user.setPassword("ailuti"); user.setAge(12); user.setTel("4006184000"); userDao.insert(user); } }
执行测试后,数据库表中就会添加一条数据。
但是数据中的主键ID,有点长,那这个主键ID是如何来的?我们更想要的是主键自增,应该是5才对,这个是我们后面要学习的主键ID生成策略,这块的这个问题,我们暂时先放放。
3 .删除
在进行删除之前,我们可以分析下删除的方法:
int deleteById (Serializable id)
-
-
-
String和Number是Serializable的子类,
-
Number又是Float,Double,Integer等类的父类,
-
能作为主键的数据类型都已经是Serializable的子类,
-
MP使用Serializable作为参数类型,就好比我们可以用Object接收任何数据类型一样。
-
-
-
在测试类中进行新增操作:
@SpringBootTest class Mybatisplus01QuickstartApplicationTests { @Autowired private UserDao userDao; @Test void testDelete() { userDao.deleteById(1401856123725713409L); } }
4 .修改
在
int updateById(T t);
-
-
int:返回值,修改成功后返回1,未修改数据返回0
在测试类中进行新增操作:
@SpringBootTest class Mybatisplus01QuickstartApplicationTests { @Autowired private UserDao userDao; @Test void 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 { @Autowired private UserDao userDao; @Test void testGetById() { User user = userDao.selectById(2L); System.out.println(user); } }
文章评论