日期:2014-05-16  浏览次数:20813 次

mybatis用oracle和mysql插入时的一个小区别
先看个异常
### Cause: java.sql.SQLException: ORA-00911: 无效字符

; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-00911: 无效字符
:
java.sql.SQLException: ORA-00911: 无效字符


相信你也看到了这是个无效字符错误

问题来源做实验的时候使用的是mysql

mapper xml文件的

sql语句是:<insert id="saveUser" parameterType="UserEntity" >
insert into C_USER (ID,LOGIN_NAME,PASSWORD,EMAIL)
values (#{id},#{loginName},#{password},#{email});
</insert>
现在是没什么问题

当换为oracle时就报了以上的错误,仔细查看错误没什么发现,你报错也给说清楚是哪个字符无

效撒,其实这块主要还是没太认真看,如果仔细看就会发现错误前面那个小分号。。。。。。。。

那就去掉sql后面的小分号试试,没问题。

1 以后应该逐字逐句看异常
2 oracle的sql可别加分号了