springboot+mybatis+mysql 对于特殊字段的处理方式

比如现在有个实体类

public class School{
    private Integer A;
    private Integer B;
    private String C; // 假如A=22,B=44,那么C的内容为"_22_44_",相当于把A和B的数字填进去
    // ......以下省略n个字段
}

问题:

关于C这个字段,我是想直接在mysql表里创建这个字段,然后在插入数据时计算好,那么在查询的时候直接取就行(查询的方法有很多,根据不同的条件进行查询)。

但是同事觉得取出来的时候自己拼接就好,或者在mybatis里用resultmap做映射也行。他考虑的点是减少存在DB里的字段,这样查询的时候能提高效率。

请问大神觉得哪种方式好些?有没有更方便、快捷的解决方法呢?

请指教,谢谢~

阅读 2.3k
3 个回答

字段C的get方法内部进行拼接就好了啊,

public String  getC() {
       return "_"+this.A+"_"+this.B+"_";
 }

你只是简单的拼接字段,不涉及到复制规则,sql查询就能做到了,也不需要你去存起来

我觉得自己拼比较好,至少不需要考虑一致性和实时性的问题,性能上应该也能够接收。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题