为了账号安全,请及时绑定邮箱和手机立即绑定

求助,一个非常奇怪的问题,本地良好程序,部署后查询数据库出现问题

求助,一个非常奇怪的问题,本地良好程序,部署后查询数据库出现问题

临摹微笑 2019-03-01 10:43:06
我的本地环境是windows10,mysql,java8,tomcat7。生产坏境是ubuntu,mysql,java8,tomcat7(tomcat8)。 我写了一个查询公交车站的java web程序。用了spring mvc,mybatis。数据库用的是mysql,程序用到了2个表,一个bus_line,一个bus_station。 这个程序在我本地运行良好,但部署到线上后,程序对我2个表其中的一个,bus_station表,查询不到任何东西。而我查log,上面显示 18:26:52.473 [http-nio-8080-exec-7] DEBUG com.jiaotong114.jiaotong.mapper.LineMapper.selectSingleStationByNameAndCity - ==> Preparing: SELECT * FROM bus_station WHERE name = ? AND city = ? 18:26:52.473 [http-nio-8080-exec-7] DEBUG com.jiaotong114.jiaotong.mapper.LineMapper.selectSingleStationByNameAndCity - ==> Parameters: 烟草公司(String), 南通(String)18:26:52.474 [http-nio-8080-exec-7] DEBUG com.jiaotong114.jiaotong.mapper.LineMapper.selectSingleStationByNameAndCity - <== Total: 0 我在线上数据库中,直接查询SELECT * FROM bus_station WHERE name = '烟草公司' AND city = '南通',可以查出一条数据。 也就是说,我在程序中用mybatis查不到信息,但直接在数据库中用同样的条件查却可以查出来。 而且这个问题在本地是没有的。 我相信是数据库,或者数据库与程序连接处出了什么问题,但不能确定是哪里出问题 请各位大虾指点一二。
查看完整描述

4 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

确认参数,尤其是 xml 中制定的参数的写法,以及实参传参;

同一套code,部署至本地,启动本地环境,调试便知;

查看完整回答
反对 回复 2019-03-01
?
jeck猫

TA贡献1909条经验 获得超7个赞

怀疑是编码问题,请全部使用UTF8编码再试。代码文件全部使用UTF8无BOMunix换行符格式保存,数据库编码使用UTF8,再试一次

查看完整回答
反对 回复 2019-03-01
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

应该是编码的问题,你先试一下name和city参加是英文的是否能查询出结果。

如果能查询出结果,name和city参数是从界面输入的话,需要看一下前端jsp文件头声明的编码,最好在@page中声明成和数据库端一致的编码格式。

查看完整回答
反对 回复 2019-03-01
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

上面大虾估计的对 你试试查查全英文的,如果条件允许 也可以开一下mysql.log看一下,mysql到底执行了什么查询

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 490 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信