java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式。

时间:2023-03-08 20:18:01
java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式。

今天遇到一个很奇怪的问题,sql报表达式错误,于是我把报错的那句sql(红色)放到数据库中执行,没有报错啊!百思不得其解!

呼!我已经提醒自己去注意看黑色的console信息了,得到了传参的参数值,但是没有想到红色和黑色的报错sql语句会有区别啊!

以后一定要注意所有的信息,学会看到本质。

insert into mark_gis
(id,mark_area_code, geom)
values
(#{id, jdbcType=INTEGER},#{markAreaCode, jdbcType=VARCHAR},MDSYS.SDO_GEOMETRY(${sdo_gType},4326,sdo_point_type(${x},${y},null),MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,${geom_type}),MDSYS.SDO_ORDINATE_ARRAY(${points})))

points代表的参数不对,参入的是数组,应该是字符串才可以。

摆脱!拷贝的时候看清楚!不然花费的时间更多!先看懂再复制啊!不然复制有什么意义!

java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式。