mysql中在可视化工具查询的结果与mybatis中查询的结果不一致

我现在需要查询一条数据的状态,我在数据库中手动改成1,然后再代码中操作查询这条记录,
但是查询的结果一直是0,跟数据库的结果不一致,这是为什么?查询接口加了事务注解。

public List<XjBidSupplyoffer> getListBySupplynoAndbidid(Integer bidid,String supplyno)
    {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("bidid", bidid);
        map.put("supplyno", supplyno);
        return this.dao.getListBySupplynoAndbidid(map);
    }
<select id="getListBySupplynoAndbidid" resultMap="BaseResultMap"
        parameterType="java.util.Map">
        select
        <include refid="Base_Column_List" />
        from xj_bid_supplyoffer
        where supplyno=#{supplyno,jdbcType=VARCHAR} and bidid =#{bidid,jdbcType=INTEGER}
    </select>

补充一下:数据库没有链接错误,xml的sql我在navicat中执行是我想要的结果,但是在代码中执行出来的结果并不是,真实的:我想要的iseffect的值数据库是1,但是代码查询出来的一直是0

手动改的值是否提交了?你关了可视化工具重新打开看看。
还有就是会不会是mybatis存在缓存?
甚至于再极端点,你改的数据跟你mybatis连接的数据库是否是同一个

如果数据库表是你找的,对应数据也是你找的,那么你修改后是需要手动提交下的,commit。提交后,你在在可视化工具里执行查询操作,如果查询出来是修改后的,说明修改成功。然后你在用程序去跑跑看,如果程序也是对的那就没问题,如果程序还是不能出来,说明你找错表了,找错数据了。

首先第一步:先把
select

from xj_bid_supplyoffer
where supplyno=#{supplyno,jdbcType=VARCHAR} and bidid =#{bidid,jdbcType=INTEGER}
你写的这个sql放到你数据库里面去看,结果是不是你要的结果,
其次判断你是不是真的连上这个数据库了,因为项目中时常会有多数据源配置,多数据库操作,你要确保是这个数据库才可以。
最后倘若可以查出数据,你有无法判断为何原因,先清理缓存(有时候是因为缓存原因)再dubg打断点,通过你写的接口一步一步的走,看数据有没有拿到或者在哪发生了改变。