今天发现项目报了个异常:

bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'twe.PLACE' doesn't exist

提示表不存在,可查了数据库发现表是存在的,顿时意识到八成是大小写出问题了……但是我再windows环境下和Mac OSX的环境下开发的时候都没啥问题,那就奇怪了,万能的google告诉我:

Mysql的大小写敏感,在windows上lower_case_table_names变量的缺省值为1; 在linux上为0; 在mac os上为2;

看来还是不同环境的默认配置的问题,服务器是linux的环境,于是简单设置了一下,把mysql设置成大小写不敏感就OK了,操作如下:

1.打开mysql的配置文件

vi /etc/my.cnf

2.在 [mysqld] 下设置lower_case_table_names的值,也就是加一行:

lower_case_table_names=1 

3.重启下mysql,于是搞定了