1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.ibatis2.dao.templates;
17
18 import org.mybatis.generator.api.dom.java.Field;
19 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
20 import org.mybatis.generator.api.dom.java.JavaVisibility;
21 import org.mybatis.generator.api.dom.java.Method;
22 import org.mybatis.generator.api.dom.java.Parameter;
23
24
25
26
27 public class GenericSIDAOTemplate extends AbstractDAOTemplate {
28
29 private FullyQualifiedJavaType sqlMapClientType = new FullyQualifiedJavaType(
30 "com.ibatis.sqlmap.client.SqlMapClient");
31
32
33
34
35 public GenericSIDAOTemplate() {
36 super();
37 }
38
39 @Override
40 protected void configureCheckedExceptions() {
41 addCheckedException(new FullyQualifiedJavaType("java.sql.SQLException"));
42 }
43
44 @Override
45 protected void configureConstructorTemplate() {
46 Method method = new Method();
47 method.setConstructor(true);
48 method.setVisibility(JavaVisibility.PUBLIC);
49 method.addBodyLine("super();");
50 setConstructorTemplate(method);
51 }
52
53 @Override
54 protected void configureDeleteMethodTemplate() {
55 setDeleteMethodTemplate("sqlMapClient.delete(\"{0}.{1}\", {2});");
56 }
57
58 @Override
59 protected void configureFields() {
60 Field field = new Field();
61 field.setVisibility(JavaVisibility.PRIVATE);
62 field.setType(sqlMapClientType);
63 field.setName("sqlMapClient");
64 addField(field);
65 }
66
67 @Override
68 protected void configureImplementationImports() {
69 addImplementationImport(sqlMapClientType);
70 }
71
72 @Override
73 protected void configureInsertMethodTemplate() {
74 setInsertMethodTemplate("sqlMapClient.insert(\"{0}.{1}\", {2});");
75 }
76
77 @Override
78 protected void configureMethods() {
79 Method method = new Method();
80 method.setVisibility(JavaVisibility.PUBLIC);
81 method.setName("setSqlMapClient");
82 method.addParameter(new Parameter(sqlMapClientType, "sqlMapClient"));
83 method.addBodyLine("this.sqlMapClient = sqlMapClient;");
84 addMethod(method);
85
86 method = new Method();
87 method.setVisibility(JavaVisibility.PUBLIC);
88 method.setName("getSqlMapClient");
89 method.setReturnType(sqlMapClientType);
90 method.addBodyLine("return sqlMapClient;");
91 addMethod(method);
92 }
93
94 @Override
95 protected void configureQueryForListMethodTemplate() {
96 setQueryForListMethodTemplate("sqlMapClient.queryForList(\"{0}.{1}\", {2});");
97 }
98
99 @Override
100 protected void configureQueryForObjectMethodTemplate() {
101 setQueryForObjectMethodTemplate("sqlMapClient.queryForObject(\"{0}.{1}\", {2});");
102 }
103
104 @Override
105 protected void configureUpdateMethodTemplate() {
106 setUpdateMethodTemplate("sqlMapClient.update(\"{0}.{1}\", {2});");
107 }
108 }