@@ -33,6 +33,7 @@ import org.mybatis.dynamic.sql.util.kotlin.GeneralInsertCompleter
33
33
import org.mybatis.dynamic.sql.util.kotlin.InsertCompleter
34
34
import org.mybatis.dynamic.sql.util.kotlin.MultiRowInsertHelper
35
35
import org.mybatis.dynamic.sql.util.kotlin.SelectCompleter
36
+ import org.mybatis.dynamic.sql.util.kotlin.SingleRowInsertHelper
36
37
import org.mybatis.dynamic.sql.util.kotlin.UpdateCompleter
37
38
import org.springframework.dao.EmptyResultDataAccessException
38
39
import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource
@@ -57,18 +58,28 @@ fun NamedParameterJdbcTemplate.delete(deleteStatement: DeleteStatementProvider)
57
58
fun NamedParameterJdbcTemplate.deleteFrom (table : SqlTable , completer : DeleteCompleter ) =
58
59
delete(org.mybatis.dynamic .sql.util.kotlin.spring.deleteFrom(table, completer))
59
60
61
+ // single record insert
60
62
fun <T > NamedParameterJdbcTemplate.insert (insertStatement : InsertStatementProvider <T >) =
61
63
update(insertStatement.insertStatement, BeanPropertySqlParameterSource (insertStatement.record))
62
64
65
+ fun <T > NamedParameterJdbcTemplate.insert (record : T ) =
66
+ SingleRowInsertHelper (record, this )
67
+
68
+ @Deprecated(
69
+ message = " Deprecated for being awkward and inconsistent" ,
70
+ replaceWith = ReplaceWith (" insert(record).into(table, completer)" )
71
+ )
63
72
fun <T > NamedParameterJdbcTemplate.insert (record : T , table : SqlTable , completer : InsertCompleter <T >) =
64
73
insert(SqlBuilder .insert(record).into(table, completer))
65
74
75
+ // general insert
66
76
fun NamedParameterJdbcTemplate.insert (insertStatement : GeneralInsertStatementProvider ) =
67
77
update(insertStatement.insertStatement, insertStatement.parameters)
68
78
69
79
fun NamedParameterJdbcTemplate.insertInto (table : SqlTable , completer : GeneralInsertCompleter ) =
70
80
insert(org.mybatis.dynamic .sql.util.kotlin.spring.insertInto(table, completer))
71
81
82
+ // multiple record insert
72
83
fun <T > NamedParameterJdbcTemplate.insertMultiple (vararg records : T ) =
73
84
insertMultiple(records.asList())
74
85
0 commit comments