首页 > 其他分享 >mybaties --- insert的底层封装代码

mybaties --- insert的底层封装代码

时间:2023-07-26 10:34:06浏览次数:38  
标签:mybaties insert getBaseMapper entity --- role save 方法

//提交,当前的对象到数据库
//.save()方法是IService接口提供的,而EmployeeService接口继承了IService接口
employeeService.save(employee);

/*
default boolean save(T entity) {
return SqlHelper.retBool(this.getBaseMapper().insert(entity));
}
这段代码是一个通用的保存方法,用于将实体对象保存到数据库中。具体解释如下:
- default :这是一个默认方法,用于在接口中提供一个默认的实现。
- boolean :方法返回一个布尔值,表示保存操作是否成功。
- save(T entity) :方法名为save,接受一个泛型参数T的实体对象作为参数,表示要保存的对象。
- SqlHelper.retBool(this.getBaseMapper().insert(entity)) :这是一个方法调用表达式,通过调用getBaseMapper()方法获取基础映射器,
然后调用insert方法将实体对象插入数据库。SqlHelper.retBool方法用于将插入操作返回的结果转换为布尔值,表示是否成功。
- this.getBaseMapper().insert(entity) :通过调用getBaseMapper()方法获取基础映射器,然后调用insert方法将实体对象插入数据库。
总的来说,这段代码表示将实体对象保存到数据库中,并返回一个布尔值表示保存操作是否成功。

上面的代码中使用了MyBatis Plus的内容。
可以看到代码中调用了 getBaseMapper() 方法,这是MyBatis Plus提供的一个基础映射器对象,用于执行数据库操作。
然后通过该基础映射器对象调用 insert(entity) 方法,将实体对象插入数据库。
SqlHelper.retBool() 方法是MyBatis Plus提供的一个辅助方法,用于将插入操作的返回结果转换为布尔值。
所以可以确认这段代码中使用了MyBatis Plus的功能。
————————————————
版权声明:本文为CSDN博主「liuliu0616」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuliu0616/article/details/131550470



======================================撸代码案例========================================================

//@Operation(summary = "添加角色")
@PostMapping("add")
public R add(@RequestBody SysRole role) {
if (sysRoleService.count(Wrappers.lambdaQuery(SysRole.class).eq(SysRole::getRoleKey, role.getRoleKey())) != 0) {
return R.failed(String.format("角色标识:%s已经存在!", role.getRoleKey()));
}

if (sysRoleService.count(Wrappers.lambdaQuery(SysRole.class).eq(SysRole::getRoleName, role.getRoleName())) != 0) {
return R.failed(String.format("角色名称:%s已经存在!", role.getRoleName()));
}
sysRoleService.save(role); //上面的解释就是save的底层封装

return R.success(role);
}

标签:mybaties,insert,getBaseMapper,entity,---,role,save,方法
From: https://www.cnblogs.com/Darkqueen/p/17581767.html

相关文章

  • RabbitMQ由于x-message-ttl设置与代码不一致导致declareQueue时IO异常
    具体异常:Causedby:com.rabbitmq.client.ShutdownSignalException:channelerror;protocolmethod:#method<channel.close>(reply-code=406,reply-text=PRECONDITION_FAILED-inequivalentarg'x-message-ttl'forqueue'queryResult'invho......
  • 013 学习笔记--锁
    锁:全局锁:锁定数据库中的所有表表级锁:每次操作锁住整张表行级锁:每次操作锁住对应的行数据1.概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CUP、RAM、IO)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性......
  • Cilium系列-5-Cilium替换KubeProxy
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyI......
  • MyBatis-Plus这样实现动态SQL
    拦截器介绍拦截器是一种基于AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。MyBatis定义了四种类型的拦截器,分别是:Executor:拦截执行器的方法,例如update、query、commit、rollback等。可以用来实现缓存、事务、分页等功能。ParameterHandler:拦截参......
  • 正点原子Ubuntu入门009---Ubuntu文件权限管理
    一、Ubuntu/Linux文件权限文件权限是指不同用户或用户组对不同文件所拥有的权限,文件权限分为三种:r:可读  w:可写  x:可执行  -rw-r--r--为一组文件权限其中第一位代表文件类型,后面9位分为三组,分别对应拥有者权限、拥有者所在组权限、其他用户权限文件类型: 普......
  • Mac好用的文献管理软件-EndNote 20
    EndNote20是一款以强大功能为基础,以文献管理软件为核心的跨平台数据库管理系统。EndNote20具有强大的文献检索和处理功能,支持快速检索文本、文献和图像。可以通过一键下载安装到Mac/win,也可以在Windows上使用。EndNote20可以将文件管理和处理功能集成到一个单一文件夹中,便于......
  • 剑指offer--二叉树
    第3题:二叉搜索树的第k个节点描述给定一棵结点数为n的二叉搜索树,请找出其中的第k小的TreeNode结点值。返回第k小的节点值即可不能查找的情况,如二叉树为空,则返回-1,或者k大于n等等,也返回-1保证n个节点的值不一样思路递归中序遍历二叉搜索树:左子树的元素都小于根节点,右......
  • -Wl
    1、介绍-Wl后面的东西是作为参数传递给链接器ld的。比如:gcc-Wl,aaa,bbb,ccc最后会被解释为:ldaaabbbccc2、-Wl,-Map=xxx.txt生成map文件如下会生成map文件mymap.txt。gcc-Wl,-Map=mymap.txt-gmain.c-omain3、-Wl,-Bstatic和-Wl,-Bdynamic指定链接动态库或者静......
  • 学好Elasticsearch系列-索引的CRUD
    本文已收录至Github,推荐阅读......
  • 学好Elasticsearch系列-核心概念
    本文已收录至Github,推荐阅读......