关于mybatis不执行sql的问题


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语句,但是这个查询就是不行。。

8个回答


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>

我也遇到了这个问题

我也出现了这个问题,怎么解决

我遇到了 然后关了事务那个 就正常了
把这个删除了@Transactional

今天也碰到这样的问题,排查了很久,最终确定代码没问题,是因为数据库中存放数值数据的字段定义为字符类型了,导致后台手动录入数据的时候数值中含有非数值符号,mybatis做数值计算的时候也傻了,没报异常,就一直卡在那里。

可能是你的sql查询语句执行的时候走了缓存,在你的mybatis里面加上useCache="false" 表示无论如何不走缓存,希望能解决你的问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐