View Javadoc
1   /*
2    *    Copyright 2016-2026 the original author or authors.
3    *
4    *    Licensed under the Apache License, Version 2.0 (the "License");
5    *    you may not use this file except in compliance with the License.
6    *    You may obtain a copy of the License at
7    *
8    *       https://www.apache.org/licenses/LICENSE-2.0
9    *
10   *    Unless required by applicable law or agreed to in writing, software
11   *    distributed under the License is distributed on an "AS IS" BASIS,
12   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *    See the License for the specific language governing permissions and
14   *    limitations under the License.
15   */
16  package examples.simple;
17  
18  import java.sql.JDBCType;
19  import java.util.Date;
20  
21  import org.mybatis.dynamic.sql.SqlColumn;
22  import org.mybatis.dynamic.sql.SqlTable;
23  
24  public final class PersonDynamicSqlSupport {
25      public static final Person person = new Person();
26      public static final PrimaryKeyColumn<Integer> id = person.id;
27      public static final SqlColumn<String> firstName = person.firstName;
28      public static final SqlColumn<LastName> lastName = person.lastName;
29      public static final SqlColumn<Date> birthDate = person.birthDate;
30      public static final SqlColumn<Boolean> employed = person.employed;
31      public static final SqlColumn<String> occupation = person.occupation;
32      public static final SqlColumn<Integer> addressId = person.addressId;
33  
34      public static final class Person extends SqlTable {
35          public final PrimaryKeyColumn<Integer> id = new PrimaryKeyColumn.Builder<Integer>()
36                  .withTable(this)
37                  .withName("id")
38                  .withJdbcType(JDBCType.INTEGER)
39                  .withJavaProperty("id")
40                  .isPrimaryKeyColumn(true)
41                  .build();
42          public final SqlColumn<String> firstName = column("first_name", JDBCType.VARCHAR)
43                  .withJavaProperty("firstName");
44          public final SqlColumn<LastName> lastName =
45                  column("last_name", JDBCType.VARCHAR, "examples.simple.LastNameTypeHandler")
46                          .withJavaProperty("lastName");
47          public final SqlColumn<Date> birthDate = column("birth_date", JDBCType.DATE)
48                  .withJavaProperty("birthDate");
49          public final SqlColumn<Boolean> employed =
50                  column("employed", JDBCType.VARCHAR, "examples.simple.YesNoTypeHandler")
51                          .withJavaProperty("employed");
52          public final SqlColumn<String> occupation = column("occupation", JDBCType.VARCHAR)
53                  .withJavaProperty("occupation");
54          public final SqlColumn<Integer> addressId = column("address_id", JDBCType.INTEGER)
55                  .withJavaProperty("addressId");
56  
57          public Person() {
58              super("Person");
59          }
60      }
61  }