数据库bigint转为JAVA中的String

问题:

        今天遇到一个问题,两张表a,表b中同一个字段customer_id,存的值也是相同的,但是此字段在不同表中类型不一致,导致索引失效。

        这个字段其实是客户表的主键ID(bigint)。在t_a中类型为bigint,在t_b中类型为varchar。所以在对应的代码中表现形式分别为

<result column="customer_id" jdbcType="BIGINT" property="customerId"/>
<result column="customer_id" jdbcType="VARCHAR" property="customerId" />

        可是如果把数据库字段类型和java代码中对象字段类型一起改的话,代码中牵扯到的地方很多,由于微服务体系,其他地方引用此字段的服务可能报错。

想法:

        此字段其实真正值是bigint。那么我把t_b表中字段类型直接改为bigint。但是不改对应代码,mybatis是否会自动转换(bigint转为string)。

结果:

经过验证,确定此行为可行。


版权声明:本文为Bonie_juzi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。