1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package examples.springbatch.common;
17
18 import static examples.springbatch.mapper.PersonDynamicSqlSupport.*;
19 import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
20
21 import org.mybatis.dynamic.sql.render.RenderingStrategies;
22 import org.mybatis.dynamic.sql.update.UpdateDSL;
23 import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
24 import org.springframework.core.convert.converter.Converter;
25 import org.springframework.stereotype.Component;
26
27 @Component
28 public class UpdateStatementConvertor implements Converter<PersonRecord, UpdateStatementProvider> {
29
30 @Override
31 public UpdateStatementProvider convert(PersonRecord source) {
32 return UpdateDSL.update(person)
33 .set(firstName).equalTo(source::getFirstName)
34 .set(lastName).equalTo(source::getLastName)
35 .where(id, isEqualTo(source::getId))
36 .build()
37 .render(RenderingStrategies.MYBATIS3);
38 }
39 }