View Javadoc
1   /**
2    *    Copyright 2006-2016 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    *       http://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 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   * @author Jeff Butler
26   */
27  public class GenericSIDAOTemplate extends AbstractDAOTemplate {
28  
29      private FullyQualifiedJavaType sqlMapClientType = new FullyQualifiedJavaType(
30              "com.ibatis.sqlmap.client.SqlMapClient"); //$NON-NLS-1$
31  
32      /**
33       *  
34       */
35      public GenericSIDAOTemplate() {
36          super();
37      }
38  
39      @Override
40      protected void configureCheckedExceptions() {
41          addCheckedException(new FullyQualifiedJavaType("java.sql.SQLException")); //$NON-NLS-1$
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();"); //$NON-NLS-1$
50          setConstructorTemplate(method);
51      }
52  
53      @Override
54      protected void configureDeleteMethodTemplate() {
55          setDeleteMethodTemplate("sqlMapClient.delete(\"{0}.{1}\", {2});"); //$NON-NLS-1$
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"); //$NON-NLS-1$
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});"); //$NON-NLS-1$
75      }
76  
77      @Override
78      protected void configureMethods() {
79          Method method = new Method();
80          method.setVisibility(JavaVisibility.PUBLIC);
81          method.setName("setSqlMapClient"); //$NON-NLS-1$
82          method.addParameter(new Parameter(sqlMapClientType, "sqlMapClient")); //$NON-NLS-1$
83          method.addBodyLine("this.sqlMapClient = sqlMapClient;"); //$NON-NLS-1$
84          addMethod(method);
85  
86          method = new Method();
87          method.setVisibility(JavaVisibility.PUBLIC);
88          method.setName("getSqlMapClient"); //$NON-NLS-1$
89          method.setReturnType(sqlMapClientType);
90          method.addBodyLine("return sqlMapClient;"); //$NON-NLS-1$
91          addMethod(method);
92      }
93  
94      @Override
95      protected void configureQueryForListMethodTemplate() {
96          setQueryForListMethodTemplate("sqlMapClient.queryForList(\"{0}.{1}\", {2});"); //$NON-NLS-1$
97      }
98  
99      @Override
100     protected void configureQueryForObjectMethodTemplate() {
101         setQueryForObjectMethodTemplate("sqlMapClient.queryForObject(\"{0}.{1}\", {2});"); //$NON-NLS-1$
102     }
103 
104     @Override
105     protected void configureUpdateMethodTemplate() {
106         setUpdateMethodTemplate("sqlMapClient.update(\"{0}.{1}\", {2});"); //$NON-NLS-1$
107     }
108 }