关于mybatis批量插入的SQL问题,请高手解答

monk294 2012-01-13 10:35:47
刚刚接触mybatis,通过后台打印的SQL看到的样子是:
insert into one_table(tableid,tablename) values (?,?),(?,?),(?,?),(?,?)
请问这样的sql在是不是对于mysql是有效的呢?对于Oracle这样的sql是非法的吧?
...全文
561 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenzxl 2012-02-06
  • 打赏
  • 举报
回复
类里面写循环调用DAO
mybatis
<typeAlias alias="table" type="xxx.xxx.xxxx.TableVO" />
<insert id="insertTable" parameterClass="table">
<![CDATA[
INSERT INTO ONE_TABLE
(TABLEID,
TABLENAME,
BEGIN_NUM)
VALUES
(#tableid#,
#tablename#)
]]>
</insert>
  • 打赏
  • 举报
回复
这倒是有一个mysql批量删除
    	DELETE FROM VOTE 
WHERE VOTE_ID IN
<foreach item="item" index="index" collection="array"
open="(" separator="," close=")">
#{item}
</foreach>

Hell125 2012-02-06
  • 打赏
  • 举报
回复
哥们,搞定没有。
这种foreach针对插入一条记录还是OK,当出现多条记录的时候,对于oracle压根就支持。求解
wenjie4892543 2012-02-02
  • 打赏
  • 举报
回复
为什么不在类中用for循环
insert into one_table(tablename) values(变量)
改变变量即可 不过插入的速度可能没你的好吧!!
loveliy520 2012-01-13
  • 打赏
  • 举报
回复

<insert id="addAccessRoute" parameterClass="AccessRouteInfo">
<![CDATA[
INSERT INTO T_OSS_LOCATIONIDROUTE
(ID,
ACCESS_NODE,
BEGIN_NUM,
END_NUM,
LOCATION_ID)
VALUES
(SYS_GUID(),
#accessNode#,
#beginNum#,
#lastNum#,
#locationId#)
]]>
</insert>
这个是oracle的,你可以试一试,其中#号中的是变量,对应着parameterClass="AccessRouteInfo"中AccessRouteInfo类的属性
monk294 2012-01-13
  • 打赏
  • 举报
回复
主要是希望通过<insert><foreach></foreach></insert>的使用批量插入,修改过格式之后是
insert into one_table(tableid,tablename) values(?,?),
insert into one_table(tableid,tablename) values(?,?),
insert into one_table(tableid,tablename) values(?,?)
这种形式的sql在执行的时候也不成功,直接头大
monk294 2012-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xieshengjun2009 的回复:]
看你连的数据库了,网上查,对应修改~
[/Quote]
我用的是Oracle,请问怎么修改呢?烦请指教
xieshengjun2009 2012-01-13
  • 打赏
  • 举报
回复
看你连的数据库了,网上查,对应修改~

67,549

社区成员

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

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