zoukankan      html  css  js  c++  java
  • mybatis--org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    mysql在入库的时候报这个错

    一般的原因 
    Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称,方法名称等能否对应上。 
    按以下步骤一一执行: 
    1、检查xml文件 和 interface 是否在一个包下 
    2、检查xml文件的namespace 是否和 interface 一一对应 
    3、检查接口的方法名是否和xml的id 一致。

    5、去掉xml文件中的中文注释 
    6、随意在xml文件中加一个空格或者空行然后保存

    我后面发现是xml里面没有 方法对应的sql【意不意外】。

    修改完成后,测试环境保存成功,结果在生产上报如下错误

    liuzhizhi@lzz-rmbp|sakila-db # mysql -uroot -p < sakila-data.sql
    Enter password:
    ERROR 1785 (HY000) at line 81: When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, 
    updates to non-transactional tables can only be done in either autocommitted statements or 
    single-statement transactions, and never in the same statement as updates to transactional tables.

    查了一下发现是和mysql的存储引擎有关系,

    因为代码里有这样的语句

        public void insert(TInterfaceLogNew interfaceLogVoNew, TInterfaceLogNewConcent interfaceLogNewConcent) {
            logger.info("[接口日志]保存开始.");
            interfaceLogNewConcentDao.insert(interfaceLogNewConcent);
            interfaceLogNewDao.insertLog(interfaceLogVoNew);
            logger.info("[接口日志]保存成功.");
        }

    这个方法是在一个事物里面的,而 t_interface_log_new_concent 的表的 引擎是InnoDB

    另一个表的引擎是 MyISAM,

    后来将表都改为 InnoDB,入库不报错。

    但是 有几张表是进行了分表,需要 关联查询的。

    查询会报错

    最后的解决方案是 所有这几张表都改为: MyISAM。 

    ==============================================后续

    前几天在测试环境测试数据,修改了其中一张表的字段长度。

    然后就报这个错了

    注意注意,这几张分表是荣辱与共的关系,唇寒齿亡!!

    所有的 表的结构(索引、引擎、列、字符集等)要完全一致,完全!全!

    如果 几张表的 decimal 类型的字段不一致。查询表的汇总会出问题!!

  • 相关阅读:
    log4net使用封装,无缝切换 dotnet 和 dotnetcore
    使用 certbot 申请泛域名https证书
    StackExchange.Redis中文使用文档
    在 asp.net core 中使用类似 Application 的服务
    不一样的 SQL Server 日期格式化
    你可能不知道的 docker 命令的奇淫怪巧
    [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
    [k8s]k8s 1.9(on the fly搭建) 1.9_cni-flannel部署排错 ipvs模式
    [k8s] kubelet单组件启动静态pod
    [svc]runinit管理多进程
  • 原文地址:https://www.cnblogs.com/llq1214/p/11396732.html
Copyright © 2011-2022 走看看