@@ -28,7 +28,9 @@ import org.apache.ibatis.session.SqlSessionFactoryBuilder
2828import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory
2929import org.assertj.core.api.Assertions.assertThat
3030import org.junit.jupiter.api.Test
31+ import org.mybatis.dynamic.sql.util.kotlin.elements.insertBatch
3132import org.mybatis.dynamic.sql.util.kotlin.mybatis3.insertInto
33+ import org.mybatis.dynamic.sql.util.kotlin.mybatis3.into
3234import java.io.InputStreamReader
3335import java.sql.DriverManager
3436
@@ -123,6 +125,40 @@ class GeneratedAlwaysTest {
123125 }
124126 }
125127
128+ @Test
129+ fun testDeprecatedInsertBatch () {
130+ newSession(ExecutorType .BATCH ).use { session ->
131+ val mapper = session.getMapper(GeneratedAlwaysMapper ::class .java)
132+
133+ val record1 = GeneratedAlwaysRecord (
134+ firstName = " Fred" ,
135+ lastName = " Flintstone"
136+ )
137+
138+ val record2 = GeneratedAlwaysRecord (
139+ firstName = " Barney" ,
140+ lastName = " Rubble"
141+ )
142+
143+ insertBatch(record1, record2).into(generatedAlways) {
144+ map(firstName).toProperty(" firstName" )
145+ map(lastName).toProperty(" lastName" )
146+ }.insertStatements().map(mapper::insert)
147+
148+ val batchResults = mapper.flush()
149+
150+ assertThat(batchResults).hasSize(1 )
151+ assertThat(batchResults[0 ].updateCounts).hasSize(2 )
152+ assertThat(batchResults[0 ].updateCounts[0 ]).isEqualTo(1 )
153+ assertThat(batchResults[0 ].updateCounts[1 ]).isEqualTo(1 )
154+
155+ assertThat(record1.id).isEqualTo(22 )
156+ assertThat(record1.fullName).isEqualTo(" Fred Flintstone" )
157+ assertThat(record2.id).isEqualTo(23 )
158+ assertThat(record2.fullName).isEqualTo(" Barney Rubble" )
159+ }
160+ }
161+
126162 @Test
127163 fun testGeneralInsert () {
128164 newSession().use { session ->
0 commit comments