springMVC+MyBatis,保存数据后,如果取到某个字段的值

迷雾骑士 2017-01-07 10:47:26
springMVC+MyBatis,有个pojo类,有属性A,B,C,D,对应的表Table 有相应的字段A,B,C,D,其中,D字段有个触发器,当数据插入后,D的值自动生成。
在逻辑中,先new 一个pojo类的对象obj,然后分别将A,B,C的值set进去,然后调用insert方法。
请问:在insert成功以后,如何能在obj中获得D字段自动生成的值?
ps:我知道可以通过配置获取到自增的id的值,但是我这里是要获取的不是自增id,而是触发器自动生成的值。
...全文
743 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shilian_h 2017-02-09
  • 打赏
  • 举报
回复
重新查询。 个人认为,即使在数据库中执行的顺序也是:保存 --> 触发 --> 查询。 mybatis里一个操作只能执行一条SQL语句(插入的selectKey特殊除外),而保存和查询是两条SQL语句。
那年花 2017-02-09
  • 打赏
  • 举报
回复
获取不到的,你触发器生成的值并没有从数据库返回给你后台,就好像你做删除,如果你不刷新,数据还是显示在,必须再查询一次
迷雾骑士 2017-02-09
  • 打赏
  • 举报
回复
引用 3 楼 a276202031 的回复:
保存之后把当前对象返回就可以了你想要哪个就是哪个
不行的,返回的对象用obj.getD()获取的值是null,而不是触发器生成的值
迷雾骑士 2017-02-09
  • 打赏
  • 举报
回复
引用 2 楼 qq_17280849 的回复:
String id=object.getId();
我要的不是id,是D字段的值。
迷雾骑士 2017-02-09
  • 打赏
  • 举报
回复
引用 1 楼 wanghengwhwh 的回复:
从表里查出来行吗
这样做就相当于多了一步查询的操作,是可以的,但是就没有达到我的目的了,我是希望在对象obj插入数据库后,数据库触发器执行,D字段的值自动生成并保存到属性D中,然后我可以通过obj.getD() 就获得触发器生成的值。
浮云若水 2017-01-09
  • 打赏
  • 举报
回复
保存之后把当前对象返回就可以了你想要哪个就是哪个
雨上小公举 2017-01-07
  • 打赏
  • 举报
回复
String id=object.getId();
能源恒观 2017-01-07
  • 打赏
  • 举报
回复
从表里查出来行吗

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧