Mybatis通过mapper创建sql的一个小问题

今天测试的时候发现的一个问题,通过mapper对一个表进行修改的时候,总会莫名其妙自动改了一个字段

一开始以为是Oracle中写了触发器,查看所有触发器逻辑后发现并没有触发器进行修改。

通过排查,发现应该是程序中出的问题,因此在yml文件中配置打印具体的sql

logging:
  level:
     com.example.demo.dao : debug #key是mapper对应的包全名

最终发现mybatis在通过对象插入/更新 取值时,是通过对象的GET方法进行取值,而同事在这个字段中加入了业务逻辑,导致在某种业务中mybatis会取得错误的值,从而sql赋值错误,get方法改回直接返回字段值则正确

因此,数据库表对应实体类不要加入多余逻辑,仅用于字段映射

猜你喜欢

转载自www.cnblogs.com/gtblog/p/12161493.html