@@ -25,56 +25,23 @@ import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.id
2525import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.lastName
2626import examples.kotlin.spring.canonical.PersonDynamicSqlSupport.Person.occupation
2727import org.assertj.core.api.Assertions.assertThat
28- import org.junit.jupiter.api.AfterEach
2928import org.junit.jupiter.api.BeforeEach
3029import org.junit.jupiter.api.Test
3130import 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
3631import org.mybatis.dynamic.sql.util.kotlin.*
3732import org.mybatis.dynamic.sql.util.kotlin.spring.*
3833import org.mybatis.dynamic.sql.util.kotlin.spring.from
39- import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource
4034import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
41- import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase
4235import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder
4336import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType
44- import java.sql.ResultSet
4537import java.util.*
4638
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-
6639class CanonicalSpringKotlinTest {
67- private lateinit var db: EmbeddedDatabase
6840 private lateinit var template: NamedParameterJdbcTemplate
6941
70- @AfterEach
71- fun teardown () {
72- db.shutdown()
73- }
74-
7542 @BeforeEach
7643 fun setup () {
77- db = EmbeddedDatabaseBuilder ()
44+ val db = EmbeddedDatabaseBuilder ()
7845 .setType(EmbeddedDatabaseType .HSQL )
7946 .generateUniqueName(true )
8047 .addScript(" classpath:/examples/kotlin/spring/CreateSimpleDB.sql" )
@@ -245,48 +212,6 @@ class CanonicalSpringKotlinTest {
245212 assertThat(rows).isEqualTo(1 )
246213 }
247214
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-
290215 @Test
291216 fun testRawSelect () {
292217 val selectStatement = select(id.`as `(" A_ID" ), firstName, lastName, birthDate, employed, occupation,
@@ -342,7 +267,7 @@ class CanonicalSpringKotlinTest {
342267 record
343268 }
344269
345- with (record) {
270+ with (record!! ) {
346271 assertThat(id).isEqualTo(1 )
347272 assertThat(firstName).isEqualTo(" Fred" )
348273 assertThat(lastName).isEqualTo(" Flintstone" )
0 commit comments