15
15
*/
16
16
package examples .simple ;
17
17
18
- import static examples .simple .SimpleTableDynamicSqlSupport .*;
18
+ import static examples .simple .PersonDynamicSqlSupport .*;
19
19
import static org .mybatis .dynamic .sql .SqlBuilder .*;
20
20
21
21
import java .util .List ;
55
55
*
56
56
*/
57
57
@ Mapper
58
- public interface SimpleTableMapperNewStyle {
58
+ public interface PersonMapper {
59
59
60
60
@ InsertProvider (type =SqlProviderAdapter .class , method ="insert" )
61
- int insert (InsertStatementProvider <SimpleTableRecord > insertStatement );
61
+ int insert (InsertStatementProvider <PersonRecord > insertStatement );
62
62
63
63
@ InsertProvider (type =SqlProviderAdapter .class , method ="insertMultiple" )
64
- int insertMultiple (MultiRowInsertStatementProvider <SimpleTableRecord > insertStatement );
64
+ int insertMultiple (MultiRowInsertStatementProvider <PersonRecord > insertStatement );
65
65
66
66
@ UpdateProvider (type =SqlProviderAdapter .class , method ="update" )
67
67
int update (UpdateStatementProvider updateStatement );
@@ -73,13 +73,14 @@ public interface SimpleTableMapperNewStyle {
73
73
@ Result (column ="last_name" , property ="lastName" , jdbcType =JdbcType .VARCHAR , typeHandler =LastNameTypeHandler .class ),
74
74
@ Result (column ="birth_date" , property ="birthDate" , jdbcType =JdbcType .DATE ),
75
75
@ Result (column ="employed" , property ="employed" , jdbcType =JdbcType .VARCHAR , typeHandler =YesNoTypeHandler .class ),
76
- @ Result (column ="occupation" , property ="occupation" , jdbcType =JdbcType .VARCHAR )
76
+ @ Result (column ="occupation" , property ="occupation" , jdbcType =JdbcType .VARCHAR ),
77
+ @ Result (column ="address_id" , property ="addressId" , jdbcType =JdbcType .INTEGER )
77
78
})
78
- List <SimpleTableRecord > selectMany (SelectStatementProvider selectStatement );
79
+ List <PersonRecord > selectMany (SelectStatementProvider selectStatement );
79
80
80
81
@ SelectProvider (type =SqlProviderAdapter .class , method ="select" )
81
82
@ ResultMap ("SimpleTableResult" )
82
- Optional <SimpleTableRecord > selectOne (SelectStatementProvider selectStatement );
83
+ Optional <PersonRecord > selectOne (SelectStatementProvider selectStatement );
83
84
84
85
@ DeleteProvider (type =SqlProviderAdapter .class , method ="delete" )
85
86
int delete (DeleteStatementProvider deleteStatement );
@@ -89,13 +90,13 @@ public interface SimpleTableMapperNewStyle {
89
90
90
91
default long count (MyBatis3CountHelper helper ) {
91
92
return helper .apply (SelectDSL .selectWithMapper (this ::count , SqlBuilder .count ())
92
- .from (simpleTable ))
93
+ .from (person ))
93
94
.build ()
94
95
.execute ();
95
96
}
96
97
97
98
default int delete (MyBatis3DeleteHelper helper ) {
98
- return helper .apply (MyBatis3Utils .deleteFrom (this ::delete , simpleTable ))
99
+ return helper .apply (MyBatis3Utils .deleteFrom (this ::delete , person ))
99
100
.build ()
100
101
.execute ();
101
102
}
@@ -106,116 +107,123 @@ default int deleteByPrimaryKey(Integer id_) {
106
107
);
107
108
}
108
109
109
- default int insert (SimpleTableRecord record ) {
110
+ default int insert (PersonRecord record ) {
110
111
return insert (SqlBuilder .insert (record )
111
- .into (simpleTable )
112
+ .into (person )
112
113
.map (id ).toProperty ("id" )
113
114
.map (firstName ).toProperty ("firstName" )
114
115
.map (lastName ).toProperty ("lastName" )
115
116
.map (birthDate ).toProperty ("birthDate" )
116
117
.map (employed ).toProperty ("employed" )
117
118
.map (occupation ).toProperty ("occupation" )
119
+ .map (addressId ).toProperty ("addressId" )
118
120
.build ()
119
121
.render (RenderingStrategy .MYBATIS3 ));
120
122
}
121
123
122
- default int insertMultiple (List <SimpleTableRecord > records ) {
124
+ default int insertMultiple (List <PersonRecord > records ) {
123
125
return insertMultiple (SqlBuilder .insertMultiple (records )
124
- .into (simpleTable )
126
+ .into (person )
125
127
.map (id ).toProperty ("id" )
126
128
.map (firstName ).toProperty ("firstName" )
127
129
.map (lastName ).toProperty ("lastName" )
128
130
.map (birthDate ).toProperty ("birthDate" )
129
131
.map (employed ).toProperty ("employed" )
130
132
.map (occupation ).toProperty ("occupation" )
133
+ .map (addressId ).toProperty ("addressId" )
131
134
.build ()
132
135
.render (RenderingStrategy .MYBATIS3 ));
133
136
}
134
137
135
- default int insertSelective (SimpleTableRecord record ) {
138
+ default int insertSelective (PersonRecord record ) {
136
139
return insert (SqlBuilder .insert (record )
137
- .into (simpleTable )
140
+ .into (person )
138
141
.map (id ).toPropertyWhenPresent ("id" , record ::getId )
139
142
.map (firstName ).toPropertyWhenPresent ("firstName" , record ::getFirstName )
140
143
.map (lastName ).toPropertyWhenPresent ("lastName" , record ::getLastName )
141
144
.map (birthDate ).toPropertyWhenPresent ("birthDate" , record ::getBirthDate )
142
145
.map (employed ).toPropertyWhenPresent ("employed" , record ::getEmployed )
143
146
.map (occupation ).toPropertyWhenPresent ("occupation" , record ::getOccupation )
147
+ .map (addressId ).toPropertyWhenPresent ("addressId" , record ::getAddressId )
144
148
.build ()
145
149
.render (RenderingStrategy .MYBATIS3 ));
146
150
}
147
151
148
- default Optional <SimpleTableRecord > selectOne (MyBatis3SelectOneHelper <SimpleTableRecord > helper ) {
149
- return helper .apply (SelectDSL .selectWithMapper (this ::selectOne , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation )
150
- .from (simpleTable ))
152
+ default Optional <PersonRecord > selectOne (MyBatis3SelectOneHelper <PersonRecord > helper ) {
153
+ return helper .apply (SelectDSL .selectWithMapper (this ::selectOne , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation , addressId )
154
+ .from (person ))
151
155
.build ()
152
156
.execute ();
153
157
}
154
158
155
- default List <SimpleTableRecord > select (MyBatis3SelectListHelper <SimpleTableRecord > helper ) {
156
- return helper .apply (SelectDSL .selectWithMapper (this ::selectMany , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation )
157
- .from (simpleTable ))
159
+ default List <PersonRecord > select (MyBatis3SelectListHelper <PersonRecord > helper ) {
160
+ return helper .apply (SelectDSL .selectWithMapper (this ::selectMany , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation , addressId )
161
+ .from (person ))
158
162
.build ()
159
163
.execute ();
160
164
}
161
165
162
- default List <SimpleTableRecord > selectDistinct (MyBatis3SelectListHelper <SimpleTableRecord > helper ) {
163
- return helper .apply (SelectDSL .selectDistinctWithMapper (this ::selectMany , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation )
164
- .from (simpleTable ))
166
+ default List <PersonRecord > selectDistinct (MyBatis3SelectListHelper <PersonRecord > helper ) {
167
+ return helper .apply (SelectDSL .selectDistinctWithMapper (this ::selectMany , id .as ("A_ID" ), firstName , lastName , birthDate , employed , occupation , addressId )
168
+ .from (person ))
165
169
.build ()
166
170
.execute ();
167
171
}
168
172
169
- default Optional <SimpleTableRecord > selectByPrimaryKey (Integer id_ ) {
173
+ default Optional <PersonRecord > selectByPrimaryKey (Integer id_ ) {
170
174
return selectOne (h ->
171
175
h .where (id , isEqualTo (id_ ))
172
176
);
173
177
}
174
178
175
179
default int update (MyBatis3UpdateHelper helper ) {
176
- return helper .apply (MyBatis3Utils .update (this ::update , simpleTable ))
180
+ return helper .apply (MyBatis3Utils .update (this ::update , person ))
177
181
.build ()
178
182
.execute ();
179
183
}
180
184
181
- static UpdateDSL <MyBatis3UpdateModelToIntAdapter > setAll (SimpleTableRecord record ,
185
+ static UpdateDSL <MyBatis3UpdateModelToIntAdapter > setAll (PersonRecord record ,
182
186
UpdateDSL <MyBatis3UpdateModelToIntAdapter > dsl ) {
183
187
return dsl .set (id ).equalTo (record ::getId )
184
188
.set (firstName ).equalTo (record ::getFirstName )
185
189
.set (lastName ).equalTo (record ::getLastName )
186
190
.set (birthDate ).equalTo (record ::getBirthDate )
187
191
.set (employed ).equalTo (record ::getEmployed )
188
- .set (occupation ).equalTo (record ::getOccupation );
192
+ .set (occupation ).equalTo (record ::getOccupation )
193
+ .set (addressId ).equalTo (record ::getAddressId );
189
194
}
190
195
191
- static UpdateDSL <MyBatis3UpdateModelToIntAdapter > setSelective (SimpleTableRecord record ,
196
+ static UpdateDSL <MyBatis3UpdateModelToIntAdapter > setSelective (PersonRecord record ,
192
197
UpdateDSL <MyBatis3UpdateModelToIntAdapter > dsl ) {
193
198
return dsl .set (id ).equalToWhenPresent (record ::getId )
194
199
.set (firstName ).equalToWhenPresent (record ::getFirstName )
195
200
.set (lastName ).equalToWhenPresent (record ::getLastName )
196
201
.set (birthDate ).equalToWhenPresent (record ::getBirthDate )
197
202
.set (employed ).equalToWhenPresent (record ::getEmployed )
198
- .set (occupation ).equalToWhenPresent (record ::getOccupation );
203
+ .set (occupation ).equalToWhenPresent (record ::getOccupation )
204
+ .set (addressId ).equalToWhenPresent (record ::getAddressId );
199
205
}
200
206
201
- default int updateByPrimaryKey (SimpleTableRecord record ) {
207
+ default int updateByPrimaryKey (PersonRecord record ) {
202
208
return update (h ->
203
209
h .set (firstName ).equalTo (record ::getFirstName )
204
210
.set (lastName ).equalTo (record ::getLastName )
205
211
.set (birthDate ).equalTo (record ::getBirthDate )
206
212
.set (employed ).equalTo (record ::getEmployed )
207
213
.set (occupation ).equalTo (record ::getOccupation )
214
+ .set (addressId ).equalTo (record ::getAddressId )
208
215
.where (id , isEqualTo (record ::getId ))
209
216
);
210
217
}
211
218
212
- default int updateByPrimaryKeySelective (SimpleTableRecord record ) {
219
+ default int updateByPrimaryKeySelective (PersonRecord record ) {
213
220
return update (h ->
214
221
h .set (firstName ).equalToWhenPresent (record ::getFirstName )
215
222
.set (lastName ).equalToWhenPresent (record ::getLastName )
216
223
.set (birthDate ).equalToWhenPresent (record ::getBirthDate )
217
224
.set (employed ).equalToWhenPresent (record ::getEmployed )
218
225
.set (occupation ).equalToWhenPresent (record ::getOccupation )
226
+ .set (addressId ).equalToWhenPresent (record ::getAddressId )
219
227
.where (id , isEqualTo (record ::getId ))
220
228
);
221
229
}
0 commit comments