一、场景; 多数据源,有mysql和sqlService两种数据源
问题: 在这里使用的是sqlService数据库,但是报的是mysql数据源问题,在本地跑没有问题,放上linux环境报错
解决方案: 在配置多数据源时,由于主数据库@Primary, 的@MapperScan(basePackages ="xxx.mapper")扫描的包过大,
这个sqlService的数据源配置@MapperScan(basePackages ="xxx.mapper.xxx"),当spring扫描的时候,先定位到主的 数 据源
{"exception":"com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '+'哈哈哈哈'+'%'' at line 3\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n\tat com.mysql.jdbc.Util.handleNewInstance(Util.java:411)\r\n\tat com.mysql.jdbc.Util.getInstance(Util.java:386)\r\n\tat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)\r\n\tat com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)\r\n\tat com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)\r\n\tat com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)\r\n\tat com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)\r\n\tat com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)\r\n\tat com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)\r\n\tat com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)\r\n\tat
二、场景: 使用高版本springBoot 整合mybatis 操作数据库
问题: 操作数据库,时间总是对不上,但是把执行的sql语句,放到mysql中执行又是正常的; 查看mysql的时区,springBoot的时区设 置都是正确的;
解决方案: 在spring.datasource.url: 配置中加一个 serverTimezone=GMT%2B8