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

发布时间 2023-07-26 10:30:08作者: up-zyn

//提交,当前的对象到数据库
//.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);
}