需求描述:
调用逆向工程生成的mapper层方法.
错误描述:
调用updateByExample()方法时就会报错:
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘id’ cannot be null
; SQL []; Column ‘id’ cannot be null; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘id’ cannot be null
错误原因:
调用的mapper方法为Example后缀(如updateByExample),这类方法对对象中的每个属性都会调用,出现null即报错.
解决方法:
应该调用ExampleSelective后缀的方法(如updateByExampleSelective),这类方法是动态sql,只调用非空属性.
两类方法间的区别可以以下博客:
https://blog.csdn.net/qq_38409944/article/details/82556834