跳到主要内容

保存指令

备注

一句话保存任意复杂的数据结构,自动找出DIFF并修改数据库,类似于React/Vue

保存指令是Jimmer一个非常强大的能力,可以大幅简化复杂数据结构保存业务的开发难度。

如果说对象抓取器让作为输出信息的数据结构可以是任何形状,那么,保存指令就是让作为输入信息的数据结构也可以是任何形状。

如果读者对Web前端技术有一定的了解,可以用ReactVue中的Virtual DOM diff来类比。

提示

保存指令需要开发人员彻底改变过去的思维模式

  • 思维模式的本质区别

    • 以前的传统思维模式

      自己去对比要保存的数据结构和数据库现有数据的差异,对有变化的局部执行INSERTUPDATEDELETE

    • 保存指令的思维模式

      接受客户端传递的数据结构,作为一个整体保存即可。Jimmer会处理好一切 (自动对比要保存的数据结构和数据库现有数据的差异,对有变化的局部执行INSERTUPDATEDELETE)

  • 以前的习惯应该被更好的方法替代

    传统开发模式中,开发人员非常喜欢做一件事:先查询一个对象,再修改其部分属性,最后保存修改后的对象。

    虽然Jimmer也允许开发人员这样做,但是推荐性能更高的做法,请参见不完整对象

调用保存指令只需要让一行代码,但其内部隐藏了千遍万化的细节,文档难以穷举大量案例。因此,保存指令有独立的示例项目:

用IDE随意打开其中一个,运行单元测试即可。