java @TableField(exist = false) 和@TableField(select = false) 的区别
@TableField(exist = false) 和 @TableField(select = false) 都是 MyBatis-Plus 框架中用于标注实体类字段与数据库表字段映射关系的注解,但它们的作用有所不同:
1.@TableField(exist = false)
这个注解表示该字段在数据库表中不存在。当使用 MyBatis-Plus 的自动注入 SQL 语句功能时,会忽略这个字段,不会将其包含在 SQL 查询语句中。通常用于实体类中需要额外计算或处理的字段,而不需要与数据库表中的字段进行映射。
@TableField(exist = false)
private String virtualField;
2.@TableField(select = false)
这个注解表示在查询时不会选择该字段。也就是说,当使用 MyBatis-Plus 的查询方法查询数据库时,这个字段的值不会被包含在查询结果中。但是,这个字段在数据库表中是存在的,可以在插入、更新等操作中被处理。
@TableField(select = false)
private String ignoredField;
总之,exist = false 是用于标识实体类字段在数据库表中不存在,而 select = false 是用于标识在查询时不选择该字段的值,但该字段在数据库表中是存在的。
择善人而交,择善书而读,择善言而听,择善行而从。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
2023-06-20 微信小程序 页面加载不全
2022-06-20 Mybatis中正确地使用大于小于等于号