mybatis update语句成功后,返回指定的字段
mapper---------------------------------------将 keyColumn 属性的 num 映射到 YourBean 中的num属性
<update id="upt">
<selectKey resultType="java.lang.Integer" keyColumn="num" keyProperty="num" order="AFTER">
SELECT (SELECT num FROM your_table WHERE id = #{id}) goodsNum from DUAL
</selectKey>
UPDATE your_table SET num = num + #{num} WHERE id = #{id}
</update>
dao------------------------------------------传参要用 YourBean 不是(@Param("num") Integer num)
Integer upt(YourBean yourBean);
service--------------------------------------
@Transactional(rollbackFor = Exception.class)
public void uptSome(YourBean yourBean) {
yourMapper.upt(yourBean);
//**
if (!ObjectUtils.isEmpty(yourBean.getNum()) && yourBean.getNum() <= 0) {
throw new RuntimeException("xxxx数量不足");
}
}
bean-----------------------------------------
@Setter
@Getter
public class YourBean implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull(message = "id为空", groups = UpdateGroup.class)
private Long id;
@NotNull(message = "数量为空", groups = {AddGroup.class, UpdateGroup.class})
private Integer num;
}
mybatis update语句成功后,返回指定的字段
最新推荐文章于 2024-07-26 15:59:51 发布
这篇博客介绍了如何在MyBatis中使用update语句更新数据后,通过selectKey标签获取指定的字段值,并将其映射到Java Bean中。示例展示了mapper、dao和service层的实现细节,包括事务管理以及对更新后的字段值进行检查。
摘要由CSDN通过智能技术生成