最近在做的项目中使用了mybatisplus,遇到了一些小问题,特此记录。
1、在sql查询后返回的数据中,会存在一些实体类中本没有的字段;
遇到这个问题时,我理所当然的就去实体类中添加了这个字段,但是bug马上就出现了:
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'manageName' in 'field list'
·原因写的很清楚了,表中没有这个字段。
这该怎么办呢?我们该用什么接收呢?
这就用到了我要说的第一个注解:@TableField
请各位注意看源码中的红色框框,属性exist,默认为true,也就是存在,我们可以设置为false,也就是不存在,就不会出现这个bug啦。
2、id的问题
问题的本院:由于mybatis-plus
会自动插入一个id
到实体对象, 无论你有没有封装, 所以有时候导致一些意外的情况发生。
mybatisplus中的id是要有这个注解的,但是这个注解是什么意思呢?我们继续看源码。
从IdType枚举类中我们可以看出,mybatisplus的id策略共有六种,我们可以根据业务的需求自行选择,这可以让我们在多表的增删改查中更加的灵活。