一、标准CRUD使用对于标准的CRUD功能都有哪些以及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); }}
执行测试后 , 数据库表中就会添加一条数据 。文章插图
但是数据中的主键ID , 有点长 , 那这个主键ID是如何来的?我们更想要的是主键自增 , 应该是5才对 , 这个是我们后面要介绍的主键ID生成策略 , 这块的这个问题 , 我们暂时先放放 。
三、删除在进行删除之前 , 我们可以分析下删除的方法:
int deleteById (Serializable id)
- Serializable:参数类型
- 思考:参数类型为什么是一个序列化类?
文章插图
从这张图可以看出 ,
- String和Number是Serializable的子类 ,
- Number又是Float,Double,Integer等类的父类 ,
- 能作为主键的数据类型都已经是Serializable的子类 ,
- MyBatisPlus使用Serializable作为参数类型 , 就好比我们可以用Object接收任何数据类型一样 。
- String和Number是Serializable的子类 ,
- 思考:参数类型为什么是一个序列化类?
- 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); }}
文章插图
说明:修改的时候 , 只修改实体对象中有值的字段 。
经验总结扩展阅读
- 微信新增删除声音锁功能 微信声音锁有什么作用
- 五 JPA - 原生SQL实现增删改查
- 男人四十一支花这句话是什么意思 为什么常说男人四十一枝花
- 週易六十四卦第四十一卦 山泽损
- 安徽亳州沙土小眼算命_月老灵签签文详解第四十一签:狐假虎威
- 丹东算命_车公灵签第四十一签:转计回来怕湿身
- 算命7分财是多少_吕祖灵签第四十一签 古人马超追曹
- 农历八字算命免费测八字_佛祖灵签第四十一签详解 姜承祖遇害
- 算命生辰八字_财神爷灵签第四十一签 黄五娘病相思
- 秋冬女人衣服搭配方案