师傅:徒儿,看你最近情绪波动很大呀,这是怎么了?
悟纤:还不是感情的事情来着。
师傅:怎么说来着?
悟纤:感情中间产生了太多的误会了,乱的很,老天爷给设置了太多的考题了,让我们情绪波动很大。
师傅:那针对这一份感情你是怎么想的呢 ?
悟纤:喜欢就是喜欢呗,想那么多干嘛,即使最后伤的支离破碎,也不要让自己后悔。
师傅:不错~徒儿这是认真了。
师傅:爱情要有,面包也要,学习不能落下,这样才能够给爱情加个保险。
悟纤:师傅说的是。
师傅:那咱们开始吧~ 这一小节来学习一下增三改的操作。
悟纤:师傅,那咱们开始吧。
导读
Hi,大家好,我是悟纤。我就是我,不一样的烟火。我就是我,与众不同的小苹果。
在前面的小节中,介绍了MyBatis-Plus的基本使用,需要添加什么依赖以及基本的注解配置就可以快速使用MyBatis-Plus的查询selectList。这一节来看一下常用的增删改如何操作呢 ?
👇🏻👇🏻👇🏻EasyPoi实战系列:
01.《MyBatis-Plus是什么以及特性[MyBatis-Plus系列]》
02.《MyBatis-Plus快速开始 [MyBatis-Plus系列]》
本节是基于02节的代码接着往下进行讲解的。
一、插入数据
往数据库中插入一条数据,用到的方法是insert(Entity),测试代码如下:
@Test
public void testInsert() {
User user = new User();
user.setName("悟纤");
user.setAge(18);
user.setEmail("aa@qq.com");
int rs = userMapper.insert(user);
System.out.println("成功插入条数:"+rs+"--id:"+user.getId());
}
运行结果如下:
成功插入条数:1--id:1694245417048383489
说明:insert()方法的返回值是成功插入到数据库的条数,对于主键id的话,可以通过实体类中的getId()进行获取,如果命名不是id呢?这个是可以通过注解指定的,后面会讲到这方面的注解。
如果想要在控制台查看执行的SQL的话,需要在application.properties进行配置:
# mybatis-plus打印sql
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
这个时候在执行的话,可以在控制台看到如下的日志信息:
通过这里也可以看出这个的id,是在代码层面进行生成的,如果想要使用数据库的自增的id的话,又要怎么做呢?后续会进行讲解说明。
二、修改数据
修改数据主要两种方式:其一就是通过id的方式进行修改;其二就是通过查询条件进行修改。
通过id的方式进行修改:
@Test
public void testUpdateById() {
User user = new User();
user.setId(1L);
user.setName("Jone.updateById");
int rs = userMapper.updateById(user);
System.out.println("修改成功的条数:"+ rs);
}
运行结果:
说明:通过这里可以看出,只有设置值的字段才会进行修改。
通过查询条件进行修改,举例说明通过邮箱进行修改。
@Test
public void testUpdateQueryCondition() {
User user = new User();
user.setName("Jone.updateQueryCondition");
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("email","test1@baomidou.com");
int rs = userMapper.update(user,wrapper);
System.out.println("修改成功的条数:"+ rs);
}
运行结果:
说明:参数user是要修改的对象的字段,有设置值就修改;UpdateWrapper是设置修改的条件,当然对于UpdateWrapper不仅仅能够构造条件,还能进行其它的设置,这个后面在介绍。
三、删除数据
删除数据主要两种方式:其一就是通过id的方式进行删除;其二就是通过查询条件进行删除。
通过id的方式进行删除:
@Test
public void testDeleteById() {
int rs = userMapper.deleteById(1694245417048383489L);
System.out.println("删除成功的条数:"+ rs);
}
运行结果:
通过查询条件进行删除,举例说明通过邮箱进行删除:
@Test
public void testDeleteQueryCondition() {
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("email","aa@qq.com");
int rs = userMapper.delete(wrapper);
System.out.println("删除成功的条数:"+ rs);
}
运行结果:
另外还可以执行执行如下方法进行批量删除操作:
userMapper.deleteBatchIds(Collection<?> idList);
小结
通过本节的讲解,我们可以很方便的使用MyBatis-Plus进行数据的增删改操作:
(1)插入数据:insert(T entity)
(2)删除数据:deleteById(Serializable id)和delete(@Param("ew") Wrapper<T> queryWrapper)
(3)修改数据:updateById(@Param("et") T entity) 和 update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper)
(4)开启SQL打印配置:
# mybatis-plus打印sql
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。
à悟纤学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
ShardingJDBC分库分表:http://t.cn/A6ZarrqS
分布式事务解决方案:http://t.cn/A6ZaBnIr
JVM内存模型调优实战:http://t.cn/A6wWMVqG
Spring入门到精通:https://t.cn/A6bFcDh4
大话设计模式之爱你:https://dwz.cn/wqO0MAy7