【Mybatis】计算库主键设为自增,添加后,获取该自增id并且将整个对象返回给运维
原创【Mybatis数据库主键设置为自增加,插入后,获得自增加。id并将整个对象返回到前端
原始项目的Pojo、dao层的内容将保持不变,只有以下过程中的内容将更改。
1、Service
在原来service图层添加新界面 insertDmsZhiKongRuleBack ,接口不需要sql声明,所以没有必要xml当然,文档不用于dao要添加的层。
/**
* 添加质量控制规则记录和退货记录
* @param dmsZhiKongRule
* @return dmsZhiKongRule
*/
DmsZhiKongRule insertDmsZhiKongRuleBack(DmsZhiKongRule dmsZhiKongRule);
2、ServiceImpl
ServiceImpl类实现上面新添加的接口,该接口调用。 insertDmsZhiKongRule 接口,插入内容,此时插入的内容已经具有主键id。
@Override
public DmsZhiKongRule insertDmsZhiKongRuleBack(DmsZhiKongRule dmsZhiKongRule) {
dmsZhiKongRuleDao.insertDmsZhiKongRule(dmsZhiKongRule);
return dmsZhiKongRule;
}
3、xml配置文件
其中
useGeneratedKeys="true" keyProperty="nodeId"是mybatis控制自增长的获取id属性,必须写入,
useGeneratedKeys=“true”:告诉mybatis使用数据库主键自动生成策略生成。Id,
keyProperty=“id”:告诉mybatis自动生成主键id分配给传入参数对象id属性,然后可以在传入的参数对象中传递该属性。id获取生成的主键。
insert into dms_zhikong_rule (node_name,parent_node_id,parent_node_name,
parent_node_rule,monitor_code,monitor_name,leaf_node)
values (#{nodeName},#{parentNodeId},#{parentNodeName},
#{parentNodeRule},#{monitorCode},#{monitorName},#{leafNode})
4、Controller
调用insert何时,呼叫新添加的 insertDmsZhiKongRuleBack 接口。
@ApiOperation("插入")
@PostMapping("/insert")
public CommonResult insert(@Validated @RequestBody DmsZhiKongRule dmsZhiKongRule) {
DmsZhiKongRule dmsZhiKongRule1 = dmsZhiKongRuleService.insertDmsZhiKongRuleBack(dmsZhiKongRule);
if (dmsZhiKongRule1 != null) {
return CommonResult.success(dmsZhiKongRule);
} else {
return CommonResult.failed("新增失败");
}
}
5、测试

5,参考文献
1、 https://blog.csdn.net/dsl59741/article/details/107817982
2、 https://blog.csdn.net/qq_46209794/article/details/119801558
3、 https://blog.csdn.net/mytt_10566/article/details/74279105
4、 https://blog.csdn.net/du939/article/details/100014905
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



