@@ -25,56 +25,23 @@ import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.id
25
25
import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.lastName
26
26
import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.occupation
27
27
import org.assertj.core.api.Assertions.assertThat
28
- import org.junit.jupiter.api.AfterEach
29
28
import org.junit.jupiter.api.BeforeEach
30
29
import org.junit.jupiter.api.Test
31
30
import org.mybatis.dynamic.sql.SqlBuilder.*
32
- import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider
33
- import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider
34
- import org.mybatis.dynamic.sql.select.render.SelectStatementProvider
35
- import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider
36
31
import org.mybatis.dynamic.sql.util.kotlin.*
37
32
import org.mybatis.dynamic.sql.util.kotlin.spring.*
38
33
import org.mybatis.dynamic.sql.util.kotlin.spring.from
39
- import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource
40
34
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
41
- import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase
42
35
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder
43
36
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
44
- import java.sql.ResultSet
45
37
import java.util.*
46
38
47
- fun NamedParameterJdbcTemplate.count (selectStatement : SelectStatementProvider ) =
48
- queryForObject(selectStatement.selectStatement, selectStatement.parameters, Long ::class .java)
49
- ? : 0
50
-
51
- fun NamedParameterJdbcTemplate.delete (deleteStatement : DeleteStatementProvider ) =
52
- update(deleteStatement.deleteStatement, deleteStatement.parameters)
53
-
54
- fun <T > NamedParameterJdbcTemplate.insert (insertStatement : InsertStatementProvider <T >) =
55
- update(insertStatement.insertStatement, BeanPropertySqlParameterSource (insertStatement.record))
56
-
57
- fun <T > NamedParameterJdbcTemplate.selectMany (selectStatement : SelectStatementProvider , rowMapper : (rs: ResultSet , rowNum: Int ) -> T ): List <T > =
58
- query(selectStatement.selectStatement, selectStatement.parameters, rowMapper)
59
-
60
- fun <T > NamedParameterJdbcTemplate.selectOne (selectStatement : SelectStatementProvider , rowMapper : (rs: ResultSet , rowNum: Int ) -> T ): T =
61
- queryForObject(selectStatement.selectStatement, selectStatement.parameters, rowMapper)!!
62
-
63
- fun NamedParameterJdbcTemplate.update (updateStatement : UpdateStatementProvider ) =
64
- update(updateStatement.updateStatement, updateStatement.parameters)
65
-
66
39
class CanonicalSpringKotlinTest {
67
- private lateinit var db: EmbeddedDatabase
68
40
private lateinit var template: NamedParameterJdbcTemplate
69
41
70
- @AfterEach
71
- fun teardown () {
72
- db.shutdown()
73
- }
74
-
75
42
@BeforeEach
76
43
fun setup () {
77
- db = EmbeddedDatabaseBuilder ()
44
+ val db = EmbeddedDatabaseBuilder ()
78
45
.setType(EmbeddedDatabaseType .HSQL )
79
46
.generateUniqueName(true )
80
47
.addScript(" classpath:/examples/kotlin/spring/CreateSimpleDB.sql" )
@@ -245,48 +212,6 @@ class CanonicalSpringKotlinTest {
245
212
assertThat(rows).isEqualTo(1 )
246
213
}
247
214
248
- // @Test
249
- // fun testInsertMultiple() {
250
- // val record1 = PersonRecord(100, "Joe", "Jones", Date(), "Yes", "Developer", 1)
251
- // val record2 = PersonRecord(101, "Sarah", "Smith", Date(), "Yes", "Architect", 2)
252
- //
253
- // val insertStatement = insertMultiple(listOf(record1, record2), Person) {
254
- // map(id).toProperty("id")
255
- // map(firstName).toProperty("firstName")
256
- // map(lastName).toProperty("lastName")
257
- // map(birthDate).toProperty("birthDate")
258
- // map(employed).toProperty("employed")
259
- // map(occupation).toProperty("occupation")
260
- // map(addressId).toProperty("addressId")
261
- // }
262
- //
263
- // val expected = "insert into Person (id, first_name, last_name, birth_date, employed, occupation, address_id)" +
264
- // " values" +
265
- // " (#{records[0].id,jdbcType=INTEGER}," +
266
- // " #{records[0].firstName,jdbcType=VARCHAR}," +
267
- // " #{records[0].lastName,jdbcType=VARCHAR,typeHandler=examples.kotlin.mybatis3.canonical.LastNameTypeHandler}," +
268
- // " #{records[0].birthDate,jdbcType=DATE}," +
269
- // " #{records[0].employed,jdbcType=VARCHAR,typeHandler=examples.kotlin.mybatis3.canonical.YesNoTypeHandler}," +
270
- // " #{records[0].occupation,jdbcType=VARCHAR}," +
271
- // " #{records[0].addressId,jdbcType=INTEGER})" +
272
- // ", (#{records[1].id,jdbcType=INTEGER}," +
273
- // " #{records[1].firstName,jdbcType=VARCHAR}," +
274
- // " #{records[1].lastName,jdbcType=VARCHAR,typeHandler=examples.kotlin.mybatis3.canonical.LastNameTypeHandler}," +
275
- // " #{records[1].birthDate,jdbcType=DATE}," +
276
- // " #{records[1].employed,jdbcType=VARCHAR,typeHandler=examples.kotlin.mybatis3.canonical.YesNoTypeHandler}," +
277
- // " #{records[1].occupation,jdbcType=VARCHAR}," +
278
- // " #{records[1].addressId,jdbcType=INTEGER})"
279
- //
280
- // assertThat(insertStatement.insertStatement).isEqualTo(expected)
281
- //
282
- // val b = BeanPropertySqlParameterSource(insertStatement.records)
283
- // val names = b.parameterNames
284
- //
285
- // val rows = template.update(insertStatement.insertStatement, BeanPropertySqlParameterSource(insertStatement.records))
286
- //
287
- // assertThat(rows).isEqualTo(2)
288
- // }
289
-
290
215
@Test
291
216
fun testRawSelect () {
292
217
val selectStatement = select(id.`as `(" A_ID" ), firstName, lastName, birthDate, employed, occupation,
@@ -342,7 +267,7 @@ class CanonicalSpringKotlinTest {
342
267
record
343
268
}
344
269
345
- with (record) {
270
+ with (record!! ) {
346
271
assertThat(id).isEqualTo(1 )
347
272
assertThat(firstName).isEqualTo(" Fred" )
348
273
assertThat(lastName).isEqualTo(" Flintstone" )
0 commit comments