不传表名:方法是正确的
<insert id="insert_user" parameterClass="java.util.List">
<iterate conjunction=";" property="codes">
<![CDATA[
insert into device_user_$codes[].tableName$(cgwTime,TypeFlag,NodeFlag,DataFlag,cgwBatchs,abnormalOnlineUsers,normalOnlineUsers,time)
values
]]>
<![CDATA[
(#codes[].cgwTime#,#codes[].typeFlag#,#codes[].nodeFlag#,#codes[].dataFlag#,#codes[].cgwBatchs#,#codes[].abnormalOnlineUsers#,#codes[].normalOnlineUsers#,#codes[].time#)
]]>
</iterate>
</insert>
传表名:方法错误
<insert id="insert_user" parameterClass="java.util.List">
<iterate conjunction=";" property="codes">
<![CDATA[
insert into device_user_$codes[].tableName$(cgwTime,TypeFlag,NodeFlag,DataFlag,cgwBatchs,abnormalOnlineUsers,normalOnlineUsers,time)
values
]]>
<![CDATA[
(#codes[].cgwTime#,#codes[].typeFlag#,#codes[].nodeFlag#,#codes[].dataFlag#,#codes[].cgwBatchs#,#codes[].abnormalOnlineUsers#,#codes[].normalOnlineUsers#,#codes[].time#)
]]>
</iterate>
</insert>
那个高手给指指
device_user_$codes[]这个是? 表名的标示么
这一块想实现拼接表名 codes[] 这个是list集合 tableName是集合对象的属性也就是表名
或者在这一块可以实现取list的第一个对象的tableName属性的值
<insert id="insert_Umc_UserOnlineTrendList" parameterClass="java.util.List">
<![CDATA[
insert into device_umc_useronlinetrendlist_20170507(cgwTime,TypeFlag,NodeFlag,DataFlag,cgwBatchs,abnormalOnlineUsers,normalOnlineUsers,time)
values
]]>
<iterate conjunction=",">
<![CDATA[
(#codes[].cgwTime#,#codes[].typeFlag#,#codes[].nodeFlag#,#codes[].dataFlag#,#codes[].cgwBatchs#,#codes[].abnormalOnlineUsers#,#codes[].normalOnlineUsers#,#codes[].time#)
]]>
</iterate>
</insert>
只要把20170508 替换成动态的表名就行