前几天使用mybatisplus遇到一个很奇怪的问题,使用BaseMapper的新增insert方法,返回值是-1,当然就只有一条记录,理论才应该返回1才对。
怀疑过是依赖问题,结果证明不是
怀疑过是多数据源问题导致,结果证明不是
怀疑过是没有加事务注解问题导致,结果证明不是
怀疑过是mybatisplus的bug,结果证明不是
而且很奇怪的是在本地开发环境windows下是正常的,一旦部署到linux服务器上就有问题。
通过正常返回结果的日志 和 不正常返回结果的日志 ,发现了个问题:
正常的:
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@45575842] will not be managerd by spring
不正常的:
JDBC Connection [oracle.jdbc.driver.T4ConnectionProxyImpl@64e5857] will not be managerd by spring
就是通过这个线索,引导最终解决了问题。
出问题的地方在于:
我们使用的是springBoot
在启动类上的
在启动类的@SpringBootApplication后添加(exclude = {DruidDataSourceAutoConfiguration.class})
去掉(exclude = {DruidDataSourceAutoConfiguration.class}) 就解决问题了