select
TOM_ID
from
TEST
where 1=1
AND HOST_IP = #{ipAddr}
日志输出:
11:04:02.942 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession
11:04:02.942 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7ecc30a4] was not registered for synchronization because synchronization is not active
11:04:02.942 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7ecc30a4]
这个查询没有返回,也没有报错,执行到这里程序就不走了, 其他查询是可以成功的,也可以打印出sql语句,但是这个查询就是不行。。
我遇到了 然后关了事务那个 就正常了
把这个删除了@Transactional
select
TOM_ID
from
TOM_SERVER_CFG
where 1=1
AND HOST_IP = #{ipAddr}
这是映射的配置
because synchronization is not active
这个又不是因为SQL错了
日志就打印这三句 , 所以不知道哪里错了 其他的都有配置
<configuration>
<mappers>
<mapper resource="com/asiainfo/cmserver/intf/map/A.xml" />
</mappers>
</configuration>
<bean id="aDAO" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value=".com.ddd.aDAO" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
我也遇到了这个问题
我也出现了这个问题,怎么解决
今天也碰到这样的问题,排查了很久,最终确定代码没问题,是因为数据库中存放数值数据的字段定义为字符类型了,导致后台手动录入数据的时候数值中含有非数值符号,mybatis做数值计算的时候也傻了,没报异常,就一直卡在那里。
可能是你的sql查询语句执行的时候走了缓存,在你的mybatis里面加上useCache="false" 表示无论如何不走缓存,希望能解决你的问题