避坑经验随笔

数据库SQL

使用update语句时要控制好要修改的字段范围

使用update语句时要控制好要修改的字段范围,特别是mybatis-generater自动生成的update会将所有的字段都添加进去,但其中像是create_dt是不应该被手动更新的,update_dt应该是自动更新的。在先查询数据保存到一个对象中并且使用同一个对象去执行update动作,就会使update_dt这种自动更新字段失效(被写入了对象中保存的之前查询到的数据值)。

应对方法
  1. 对update方法进行封装,保证每次执行update的参数对象都是一个新new出来的对象,杜绝直接使用从数据库中查询到的数据生成的原始对象。
  2. 删除update语句中不应该被修改的字段,让这些字段永远不会出现在提交给数据库执行的SQL语句中。

你可能感兴趣的:(日常记录,数据库,java,spring,spring,boot)