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

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

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

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

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

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

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

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

public interface MerchantSiteUserMapper {

    //String queryUserInfo(Long userId);  //错误传参
    String queryUserInfo(String userId);  //正确传参
}
<select id="queryUserInfo" resultType="BaseResultMap">
  select
  <include refid="Base_Column_List"/>
  from t_user where merchant_id = #{userId}
</select>
上一篇 Spring Bean 如何重新注入?
下一篇 RestTemplate(httpclient)动态设置超时时间
目录
文章列表
1 MongoDB $type操作符
MongoDB $type操作符
2
有人会把Redis当做队列使用吗?
有人会把Redis当做队列使用吗?
3
Linux下MySQL为用户分配指定数据库
Linux下MySQL为用户分配指定数据库
4
Fragment的onActivityResult回调
Fragment的onActivityResult回调
5
Android原生WebView截图(支持缩放)
Android原生WebView截图(支持缩放)
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。