ibatis 返回主键问题

campose22 2007-09-02 11:14:15
我的配置如下

<insert id="insertTblqybsinfo"
parameterClass="com.icinfo.busadm.hx.formbean.TblqybsinfoBean">
<![CDATA[
<selectKey resultClass="int" keyProperty="bsid" >
SELECT TBLQYBSINFO_SEQ.NEXTVAL AS bsid FROM DUAL
</selectKey>
INSERT INTO tblqybsinfo
( userid,
bsurl,
bsid,
bsname)
VALUES
( #userid#,
#bsurl#,
#bsid#,
#bsname)]]>
</insert>
报错如下:
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in Xml/Tblqybsinfo.xml.
--- The error occurred while applying a parameter map.
--- Check the insertTblqybsinfo-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00900: 无效 SQL 语句

Caused by: java.sql.SQLException: ORA-00900: 无效 SQL 语句

at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:446)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:60)
at com.icinfo.busadm.hx.dao.TblqybsinfoDao.CreateTblqybsinfo(TblqybsinfoDao.java:73)

以上配置我去掉 <selectKey>标记将#bsid#换成TBLQYBSINFO_SEQ.NEXTVAL ,直接插入是没有问题的。

请大家帮我看看
...全文
336 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fulianglove 2007-09-07
  • 打赏
  • 举报
回复
<statement id="自定义"
parameterClass="传入参数类型"
resultClass="返回参数类型"
>
<![CDATA[
SQL语句
]]>
</statement>
按这种格式写不就得了
wklaoliu 2007-09-06
  • 打赏
  • 举报
回复
没有这样用过.
linpyi 2007-09-06
  • 打赏
  • 举报
回复
没这样用过
加了一个KEY干吗用的
bushuang 2007-09-06
  • 打赏
  • 举报
回复
..
campose22 2007-09-03
  • 打赏
  • 举报
回复
顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧