第一次用mybatis就踩到一个坑,不是mybatis的坑,而是以前遇到过的低级错误...
我的数据库为mysql,程序在Mybatis中执行SQL查询返回的对象为空,但是生成SQL放在数据库中查询是有数据的,并且SQL是正确的!
想不通,debug也是返回为空,把日志中的sql、参数拿到数据库执行有数据,纠结了好久...
回去好好睡了一觉,早上到公司,继续测试根据id查一条数据,输参数的时候突然脑海里灵光一现,发现了....
请求参数居然多了个单引号,而我将参数拿到数据库执行的时候也是这样写的,造成这种情况原因有以下几点:
1、思维定式,把数据库参数的写法拿到输入参数,不容易发现,看到也会无视
2、mybatis第一次用,总觉得是mybatis的原因,正好又出现事务问题,方向想错了,以为事务是回滚了
3、没有打印请求参数,打印一下应该一眼能看出来,日志中的参数以为是自动带上单引号的写法
以上造成了我的困扰,希望大家吸取教训,一个低级问题...