@@ -180,6 +180,48 @@ func buildMapper(builder *strings.Builder, config Config, tableName string, mode
180180 builder .WriteString (common .Newline ())
181181 //insert end
182182
183+ //insert batch
184+ builder .WriteString (common .ColumnSpace ())
185+ builder .WriteString (fmt .Sprintf ("<insert id=\" insertBatch%s\" >" , modelName ))
186+ builder .WriteString (common .Newline ())
187+ builder .WriteString (common .ColumnSpace ())
188+ builder .WriteString (common .ColumnSpace ())
189+ builder .WriteString (fmt .Sprintf ("INSERT INTO %s (%s)" , tableName , columns ))
190+ builder .WriteString (common .Newline ())
191+ builder .WriteString (common .ColumnSpace ())
192+ builder .WriteString (common .ColumnSpace ())
193+ builder .WriteString ("VALUES" )
194+ builder .WriteString (common .Newline ())
195+
196+ builder .WriteString (common .ColumnSpace ())
197+ builder .WriteString (common .ColumnSpace ())
198+ builder .WriteString (`<foreach item="item" index="index" collection="{0}" open="" separator="," close="">` )
199+ builder .WriteString (common .Newline ())
200+
201+ builder .WriteString (common .ColumnSpace ())
202+ builder .WriteString (common .ColumnSpace ())
203+ builder .WriteString (common .ColumnSpace ())
204+ builder .WriteString ("(" )
205+ for i := range model {
206+ builder .WriteString (fmt .Sprintf ("#{item.%s}" , common .Column2DynamicName (modelName , model [i ].ColumnName )))
207+ if i < len (model )- 1 {
208+ builder .WriteString ("," )
209+ }
210+ }
211+ builder .WriteString (")" )
212+ builder .WriteString (common .Newline ())
213+
214+ builder .WriteString (common .ColumnSpace ())
215+ builder .WriteString (common .ColumnSpace ())
216+ builder .WriteString (`</foreach>` )
217+ builder .WriteString (common .Newline ())
218+
219+ builder .WriteString (common .ColumnSpace ())
220+ builder .WriteString ("</insert>" )
221+ builder .WriteString (common .Newline ())
222+ builder .WriteString (common .Newline ())
223+ //insert end
224+
183225 //update
184226 builder .WriteString (common .ColumnSpace ())
185227 builder .WriteString (fmt .Sprintf ("<update id=\" update%s\" >" , modelName ))
0 commit comments