MyBatis-Plus常见问题处理
MyBatis-Plus采用编程方式生成SQL,默认根据实体类的类名和属性名推断对应的表名和字段名。
若数据库和实体类设计不一致,执行SQL会失败,这里介绍下常见问题及其处理。
问题一:数据库表字段与实体类属性名称不一致
若字段名为pwd,属性名为password
@TableField(value = "pwd")
private String password;
问题二:编码中添加了数据库中未定义的属性
若User类添加了表示用户是否在线的online属性,而数据表中没有响应字段
@TableField(exist = false)
private Integer online;
问题三:采用默认查询开放了更多的字段查看权限
为了安全起见,密码等信息不希望被查询封装到实体类
@TableField(value = "pwd", select = false)
private String password;
问题四:表名与编码开发设计不同步
数据库表名为tbl_user,实体类为User
@TableName("tbl_user")
public class User {
}
MyBatis-Plus在映射数据库与实体类时可能会遇到问题,如字段名不一致、额外属性、默认查询安全等。解决方法包括使用@TableField注解指定字段映射,设置exist属性排除未在数据库中存在的字段,以及通过select属性防止敏感信息泄露。确保实体类与数据库同步,可以避免执行SQL失败。
506

被折叠的 条评论
为什么被折叠?



