MySQL传参字段与DB字段数据类型不一致导致精度问题采坑记录

假设t_user表中,user_id字段的数据类型为varchar

MySQL传参字段与DB字段数据类型不一致

1
select * from t_user where merchant_id = 10086;  //可能会查出多条数据
1
select * from t_user where merchant_id = '10086';  //只会查出单条数据

MyBatis Mapper与DB字段数据类型不一致

如果Mapper查询接口传入userId的数据类型为Long,那么会导致精度问题,查询的数据有多条

正确传参:Mapper查询接口传入userId的数据类型应该为String

1
2
3
4
5
public interface MerchantSiteUserMapper {

//String queryUserInfo(Long userId); //错误传参
String queryUserInfo(String userId); //正确传参
}
1
2
3
4
5
<select id="queryUserInfo" resultType="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_user where merchant_id = #{userId}
</select>

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2021 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :