错误一:
java.sql.SQLSyntaxErrorException:ORA-01745:invalid host/bind variable name
插入少量数据的时候是没有错的,插入大量数据时就会报错。(一下子插入了3万条数据,导致拼接的sql过长,所以报错)
解决方法:在service层对数据列表进行分割,分为2000条为一个列表,然后再插入。即分批次插入。
错误二:
java.sql.SQLSyntaxErrorException:ORA-01745:invalid host/bind varaible name
解决方法:将参数引用时的#{}改为${}.
错误三:
org.apache.ibatis.reflection.ReflectionException:There is no getter for property named 'teamName' in 'class java.lang.String'
解决方法:在方法的参数列表中要加上@Param("参数名")
错误四:动态传入表名时出现的错误:
java.sql.SQLSyntaxErrorException:ORA-00903:invalid table name
传过来的时候前面的log显示表名可以获取到,就说明是在参数赋值时出错了。
解决方法:动态传入时应该将#{}改为${},如:
@Delete("DELETE FROM ${tableName}")
int deleteTable(@Param("tableName") String tableName);
错误五:
org.apache.ibatis.builder.BuilderException:Could not find value method on SQL annotation.
原因是在注解开发中使用了小于号,应该把小于号换为<如果是小于等于的话,就写成&lt=即可。
错误六:java.sql.SQLRecoverableException:IO Error:Got minus one from a read call
解决方法:插入的数据量太大,可以考虑批量插入。
​
错误七:
在mybatis中执行select语句时如下语句:
@Select("SELECT APP_NAME appName,TECHNOLOGY_BUSINESS technologyBusinessSupportManager .......")
上面的语句虽然字段名是符合了数据库命名要求不能超过30个字符,字段名后面的使我们要对应的实体类的属性名。
但是,特别要注意的是后面虽然是属性名,但在单纯的sql中,它也是字段的别名,
就像我们平时在数据库中写的sql中会直接在字段后面加上一个词表示别名,
因此这个别名/属性名也是要满足不超过30个字符的要求的。
否则就会报出:identifier is too long的错误。​
错误八:
nested exception is org.apache.ibatis.type.TypeException:
Could not set parameters for mapping:
ParameterMapping{property='supportTeam',mode=IN,javaType=class java.lang.String,jdbcType=null,numericScale=null........}
这是由于在mybatis向oracle中插入Null值时要指定jdbcType.
更改为:#{supportTeam,jdbcType=VARCHAR}即可。​
​
错误九:
nested exception is java.sql.SQLSyntaxErrorException:ORA-01747:INVALID USER.TABLE.COLUMN,TABLE.COLUMN,OR COLUMN SPECIFICATION解决方案:在mybatis注解中如果使用if标签动态判断字段值并且要用逗号连接多个值的时候,就在每个If标签中机上逗号,然后使用trim标签,自动去掉最后一个条件中的逗号即可。
错误十:ORA-00909:invalid number of arguments
出现该错误是由于在mybatis注解方式开发模糊查询的like语句时出错的,原本我写的是在注解里面的语句中用like,%,''等多重字符进行拼接,导致错误。正确的做法应该是,如果要模糊匹配的那个值是参数,就直接在service层将like语句拼接好,到时候直接把like语句片段作为参数传给dao,这样就会简化在dao的注解中复杂的字符拼接。

mybatis注解报错总结相关推荐

  1. param注解报错_mybatis不加@Parm注解报错的解决方案

    我的idea版本2017.3.4,低版本貌似不会加上这个配置,idea高版本会 补充知识:Mybatis传多个参数的问题 及MyBatis报错 Parameter '0' not found. Ava ...

  2. 用IDEA新建一个springboard项目配置热部署解决AutoWired注解报错

    1.新建Spring Boot项目 * 注意:项目名必须全部小写* 勾选一些需要的组建 我这里勾选了DevTools模块可以包含在任何项目中,它可以节省大量的时间. 和web模块还有链接数据库用的jd ...

  3. 踩坑系列—mybatis查询报错java.lang.IndexOutOfBoundsException

    sql单独执行正确,但是mybatis查询报错,部分错误信息如下: org.mybatis.spring.MyBatisSystemException: nested exception is org ...

  4. mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string

    mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...

  5. mybatis+spring报错PropertyAccessException 1

    男生关注会更帅,女生关注会更美! mybatis+spring报错PropertyAccessException 1: org.springframework.beans.MethodInvocati ...

  6. 在idea中使用@Test注解报错的解决方案

    在idea中使用@Test注解报错的解决方案 参考文章: (1)在idea中使用@Test注解报错的解决方案 (2)https://www.cnblogs.com/charlypage/p/90479 ...

  7. mybatis项目报错:java.sql.SQLException: ORA-00911: 无效字符 解决方法

    mybatis项目报错:java.sql.SQLException: ORA-00911: 无效字符 解决方法 参考文章: (1)mybatis项目报错:java.sql.SQLException: ...

  8. SpringBoot+MyBatis启动报错java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

    2019独角兽企业重金招聘Python工程师标准>>> 如题,在启动SpringBoot时报SpringBoot+MyBatis启动报错java.lang.NoClassDefFou ...

  9. Spring Boot项目@RunWith注解报错

    Spring Boot项目中,新添加test类,使用@RunWith注解报错,肯定是项目中没有添加依赖. 解决办法: 1.pom.xml引入依赖 <!--添加junit环境的jar包--> ...

最新文章

  1. SpringBoot中实现quartz定时任务
  2. Rich Caruana:压缩深度神经网络模型让你兼得可解释性与准确性!
  3. Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP
  4. jvm性能调优实战 - 44Metaspace区域是如何因为类太多而发生内存溢出OOM
  5. 未来我们对微服务和 Serverless 架构有什么期望
  6. 同一Word文档不同尺寸(纸张)页面的混排方法
  7. bzoj4144 [AMPPZ2014]Petrol 图论 最短路 并查集
  8. 顺丰快递,果然不一般!
  9. Python命令行实现—查全国7天天气
  10. vue中if和for指令不能同时使用
  11. 学习python3(一)
  12. 华硕开机画面修改_电脑开机密码忘记,进不了系统,一招教你轻松解决!
  13. [licode cs交互] 1 android client 连接到token服务器
  14. CentOS8桌面环境打开终端
  15. 对话亚洲高校首个博士论文奖-裘捷中丨KDD2022
  16. FVCOM 环境基础配置(1) intel编译器 下载与安装
  17. html自动滚动代码,html文字无缝滚动代码
  18. android获取屏幕尺寸,像素
  19. 【笔记】openwrt - 【一文解决】ipv6设置、DDNS、端口转发
  20. win7下ODBC数据源ACCESS2003的链接

热门文章

  1. 绝地求生服务器6月23日紧急维护,绝地求生6月28日更新维护时间介绍
  2. 使用伪元素插入图片大小调整问题
  3. 自然语言处理NLP星空智能对话机器人系列:第21章:基于Bayesian Theory的MRC文本理解基础经典模型算法详解
  4. nginx 动态设置黑名单
  5. 某品牌电商促销活动运营分析
  6. arduino 如何把模拟口当数字口使用
  7. MYSQL 1071 - Specified key was too long;
  8. This version of ChromeDriver only supports Chrome version ...
  9. 工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式 工厂模式于抽象工厂的区别 设计模式
  10. css表格布局_布局秘密武器#1:CSS表格属性