快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳门新莆京app官网:利用方法拦截器优化Ibatis更新策略 —— 基于POJO、CGLIB、SPRING AOP



若何让CRUD来得更优雅澳门新莆京app官网些?前几天收拾代码时,发明一位已离职的同事写的一段代码很故意思,进修钻研之后收拾出一片文档,供大年夜家参考。

着末,祝开卷有益。

我们法度榜样员在应用Ibatis开拓历程中,每每会碰到多种不合前提下更新记录的环境,斟酌澳门新莆京app官网以了局景,CMSTask是CMS系统中一个用于表示一次页面分发操作的POJO,它包孕以下字段:

id

记录的ID

pageId

待分发的页面ID

status

页面的状态澳门新莆京app官网,例如激活、禁用等等

gmtCreate

创建光阴

gmtModified

着末改动光阴

gmtPublish

下一次的宣布光阴

现假设营业逻辑层(BO类)必要进行以下更新操作

DisableTaskStatus(Long pageId):治理员禁用该记录的分发义务,必要同时更新数据库中的status、gmtModified字段

updateTaskPublishTime(Long pageId,String interval):每次分发完后,脚本自动指定该页面的下次分发光阴,此中interval为预设的两次分发的距离光阴,必要更新数据库中的gmtPublish字段

EnableTaskStatus(Long pageId,String interval):治理员从新启用该记录的分发义务,与禁用不合,启用后还必要指定下次分发的光阴,必要同时更新gmtModified、status、gmtPublish字段

上述三种不合的更新要求是否意味着我们必须在TaskDAO中写三个update措施(updateTaskStatusAndGmtModified()、updateTaskGmtPublish(澳门新莆京app官网)、updateTaskStatusAndGmtModifeidAndGmtPublish()呢?跟着需求的赓续增添,今后可能还要面临更严重的掩护艰苦。当然,你也可以只应用一个“澳门新莆京app官网统一”的更新措施 —— updateTask(CmsTask task),它吸收一个CmsTask的POJO作为参数,你的updateTaskPublishTime(Long pageId,String interval)的详细实现可能是下面的样子:

Java代码

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: