2
我正在使用MyBatis,并希望在'创建','修改'的每个表上实现2个字段。他们都是日期字段。有没有办法在插入或更新时自动更新这些字段? Offcourse我可以调整映射,但我想知道是否有更通用和干的方式来做到这一点?使用MyBatis时,如何自动更新创建/修改日期字段?
我正在使用MyBatis,并希望在'创建','修改'的每个表上实现2个字段。他们都是日期字段。有没有办法在插入或更新时自动更新这些字段? Offcourse我可以调整映射,但我想知道是否有更通用和干的方式来做到这一点?使用MyBatis时,如何自动更新创建/修改日期字段?
不,mybatis没有机制来自动执行此操作,而无需编写您的sql映射来更新列。
一种替代方案是database triggers。我不确定我会建议,但我们只是在sql映射中编写它。
你可以在它的SQL地图像这样我的最后一次更新代码,
<insert id="someInsert">
insert into dummy_table
(
SOME_COLUMN,
CREATED_DT
)
values
(
#{someValue},
sysdate
)
</insert>
,或者
<update id="someUpdate">
update some_table
set some_column = #{someValue}, modified=sysdate
where some_id = #{someId}
</update>
退房,这是否合理? – Andy
完美感!感谢这个例子。这样做似乎很容易:)。我走错了路。出现的另一个问题是最喜欢如何存储这些查询。我开始使用注释,但我现在倾向于使用xml映射器。我几乎没有经验,所以对此有任何想法都是有道理的。再次感谢这个例子! – Marco
我想知道如果我也应该使日期值的对象的一部分或不?你是否将数据属性嵌入到实际业务对象中,或者只是修改数据库中的记录,并将其视为域/对象模型中不需要的元数据? – Marco