当前位置: 代码迷 >> J2EE >> 关于mybatis批量插入的SQL有关问题,请高手解答
  详细解决方案

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

热度:84   发布时间:2016-04-22 01:56:19.0
关于mybatis批量插入的SQL问题,请高手解答
刚刚接触mybatis,通过后台打印的SQL看到的样子是:
insert into one_table(tableid,tablename) values (?,?),(?,?),(?,?),(?,?)
请问这样的sql在是不是对于mysql是有效的呢?对于Oracle这样的sql是非法的吧?

------解决方案--------------------
Java code
<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类的属性
------解决方案--------------------
为什么不在类中用for循环
insert into one_table(tablename) values(变量)
改变变量即可 不过插入的速度可能没你的好吧!!
------解决方案--------------------
类里面写循环调用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>
  相关解决方案