mybatis使用oracle语句遇到的错误+可能的解决方法

因为刚使用oracle时,遇到了许多语句错误,在这里记录下来,防止再犯!

1、"nested exception is org.apache.ibatis.executor.ExecutorException: 
A query was run and no Result Maps were found for the Mapped Statement 'com.crm.dao.FilmListMapper.searchLikeStatus'.
  It's likely that neither a Result Type nor a Result Map was specified.",

  传入单个参数时要直接使用该参数进行判断等操作要加上@Param


/2、Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-01400:
无法将 NULL 插入 (\"DEVELOPER\".\"THUMBUP\".\"ID\")\n\r\n### 
The error may exist in com/crm/dao/FilmListMapper.xml\r\n### 
The error may involve com.crm.dao.FilmListMapper.updateLikeNOStatus-Inline\r\n### 
The error occurred while setting parameters\r\n### SQL: INSERT INTO THUMBUP(COMMYID,STATUS,FILMCOMMYID)   VALUES(?,    '2',    ?)\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: 无法将 NULL 插入 (\"DEVELOPER\".\"THUMBUP\".\"ID\")\n\n; SQL []; ORA-01400: 无法将 NULL 插入 (\"DEVELOPER\".\"THUMBUP\".\"ID\")\n; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-01400: 无法将 NULL 插入 (\"DEVELOPER\".\"THUMBUP\".\"ID\")\n",
可能是主键或者不能为空的列没有插入数值,在value()参数列表加上id列

3、nested exception is org.apache.ibatis.builder.BuilderException: 
Error evaluating expression 'LATESTSORT !='' AND LATESTSORT !=null'. 
Cause: org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression: 
LATESTSORT !='' AND LATESTSORT !=null [org.apache.ibatis.ognl.ParseException:

 Encountered \"AND\" at line 1, column 17.\r\nWas expecting one of:\r\n    <EOF> \r\n    \",\" ...\r\n    \"=\" ...\r\n    \"?\" ...\r\n    \"||\" ...\r\n    \"or\" ...\r\n    \"&&\" ...\r\n    \"and\" ...\r\n    \"|\" ...\r\n    \"bor\" ...\r\n    \"^\" ...\r\n    \"xor\" ...\r\n    \"&\" ...\r\n    \"band\" ...\r\n    \"==\" ...\r\n    \"eq\" ...\r\n    \"!=\" ...\r\n    \"neq\" ...\r\n    \"<\" ...\r\n    \"lt\" ...\r\n    \">\" ...\r\n    \"gt\" ...\r\n    \"<=\" ...\r\n    \"lte\" ...\r\n    \">=\" ...\r\n    \"gte\" ...\r\n    \"in\" ...\r\n    \"not\" ...\r\n    \"<<\" ...\r\n    \"shl\" ...\r\n    \">>\" ...\r\n    \"shr\" ...\r\n    \">>>\" ...\r\n    \"ushr\" ...\r\n    \"+\" ...\r\n    \"-\" ...\r\n    \"*\" ...\r\n    \"/\" ...\r\n    \"%\" ...\r\n    \"instanceof\" ...\r\n    \".\" ...\r\n    \"(\" ...\r\n    \"[\" ...\r\n    <DYNAMIC_SUBSCRIPT> ...\r\n    ]",

可能是传入的sql参数有问题,注意检查

4、在数据库有数据类型为clob时,语句不能用distinct

5、### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: 违反唯一约束条件 (DEVELOPER.SYS_C0014453)

试着删除数据库中手动添加的数据

6、### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00971: 缺失 SET 关键字

可能数据没传入或者多了,检查传参和语句

7、illegal zero-length identifier

双引号改成单引号

8、[Err] ORA-00972: identifier is too long

字段名过长






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值