insert和insertSelective区别

在数据库中给一些字段设置了默认值

调用mybatis逆向工程生成的insert方法保存时并没有给这些字段传值,insert的结果却是这些字段的值依旧为null

之后查看源码发现insert方法会给所有字段赋一次值,因此即便未传该字段的值,也会给该字段赋值,并且赋了空值

 

调用 insertSelective方法可以避免这个问题,insertSelective只给有接收到参数的字段进行赋值

你可能感兴趣的:(Mybatis)