V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cjyang1128
V2EX  ›  问与答

Mybatis 自动更新某个字段

  •  
  •   cjyang1128 · 2016-01-22 13:28:07 +08:00 · 3390 次点击
    这是一个创建于 3206 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目中用了 Mybatis ,然后有一张表,比如叫 files ,里面有 id, name, description, updated 这四个字段。如何做到,在 update name 或者 description 的时候,自动将 updated 更新为当前时间戳?不然的话,每个 sql xml 都需要加上 updated ,不是很优雅,找不到什么好的方式。

    9 条回复    2016-01-22 15:48:13 +08:00
    cjyang1128
        1
    cjyang1128  
    OP
       2016-01-22 13:28:16 +08:00
    谢谢大家!!!
    odirus
        2
    odirus  
       2016-01-22 13:30:12 +08:00
    你是说这种?

    update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',

    只要数据库设计好了就行。
    yvanhe
        3
    yvanhe  
       2016-01-22 13:34:19 +08:00 via Android
    直接在数据库里建触发器行吗
    admol
        4
    admol  
       2016-01-22 13:35:13 +08:00
    看看 CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP
    cjyang1128
        5
    cjyang1128  
    OP
       2016-01-22 13:54:40 +08:00
    @yvanhe 不知道。。
    cjyang1128
        6
    cjyang1128  
    OP
       2016-01-22 13:54:56 +08:00
    @odirus 好的,谢谢大神!
    cjyang1128
        7
    cjyang1128  
    OP
       2016-01-22 13:55:05 +08:00
    @admol 好的,谢谢大神!
    scyuo
        8
    scyuo  
       2016-01-22 14:07:21 +08:00
    加个拦截器 ,反射执行的对象,如果符合条件设置值
    pospospos2007
        9
    pospospos2007  
       2016-01-22 15:48:13 +08:00
    在设计这张表的时候将 updated 改为 TIMESTAMP 类型即可
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2762 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:19 · PVG 20:19 · LAX 05:19 · JFK 08:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.