一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Mybatis逆工程jar包的修改和打包

Mybatis逆工程jar包的修改和打包

2020-05-11 11:49安度因 JAVA教程

這篇文章主要介紹了Mybatis逆工程jar包的修改和打包的相關(guān)資料,需要的朋友可以參考下

上一篇文章Mybatis逆工程的使用主要是講了mybatis-generator-core-1.3.2.jar的使用,這一篇我要介紹的是,修改jar包代碼,實(shí)現(xiàn)生成自定義模板。

1.我們從這里可以下載mybatis-generator-core-1.3.2.jar項(xiàng)目源碼

http://maven.outofmemory.cn/org.mybatis.generator/mybatis-generator-core/1.3.2/

2.在eclipse下導(dǎo)入存在的maven項(xiàng)目,F(xiàn)ile->Import

Mybatis逆工程jar包的修改和打包

Mybatis逆工程jar包的修改和打包

選擇項(xiàng)目源碼位置,點(diǎn)finish完成導(dǎo)入。

Mybatis逆工程jar包的修改和打包

項(xiàng)目目錄結(jié)構(gòu)大概這樣子。

3.下面我逆工程要生成的mapping和xml格式。

Mybatis逆工程jar包的修改和打包

Mybatis逆工程jar包的修改和打包

Mybatis逆工程jar包的修改和打包

4.開始修改,首先說明一下各目錄

Mybatis逆工程jar包的修改和打包

最底邊的tse包是我自定義的包,里面是個主類,測試生成的代碼是否達(dá)到預(yù)期標(biāo)準(zhǔn)。

由于這個架包是老外寫的,生成的代碼風(fēng)格和我們不大一一樣,如果你想修改代碼格式,建議你看一下菠蘿大象的文章,我這里就不講代碼格式了。

http://www.blogjava.net/bolo/archive/2015/03/20/423683.html

首先,我們先修改逆工程要生成的接口文件mapping的代碼,默認(rèn)情況下有增刪改查,我們講其中一個改方法update吧

比如 我要讓生成的mapping中有這樣的一個方法 void update(Map<String, Object> dataMap);

就修改org.mybatis.generator.codegen.mybatis3.javamapper.elements包下的UpdateByPrimaryKeyWithoutBLOBsMethodGenerator類,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* Copyright 2009 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.mybatis.generator.codegen.mybatis3.javamapper.elements;
import java.util.Set;
import java.util.TreeSet;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.api.dom.java.Interface;
import org.mybatis.generator.api.dom.java.JavaVisibility;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.Parameter;
/**
*
* @author Jeff Butler
*
*/
public class UpdateByPrimaryKeyWithoutBLOBsMethodGenerator extends
AbstractJavaMapperMethodGenerator {
public UpdateByPrimaryKeyWithoutBLOBsMethodGenerator() {
super();
}
@Override
public void addInterfaceElements(Interface interfaze) {
Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
FullyQualifiedJavaType parameterType = new FullyQualifiedJavaType(
introspectedTable.getBaseRecordType());
importedTypes.add(parameterType);
//新增一個方法
Method method = new Method();
//添加方法修飾符PUBLIC
method.setVisibility(JavaVisibility.PUBLIC);
//設(shè)置返回值,這里我用的是自定義的void,無返回值方法 getVoidInstance()
//FullyQualifiedJavaType類中可以自定義返回值方法,大家可以自己進(jìn)去添加
//不想那么麻煩的話,可以 new FullyQualifiedJavaType("void") , 構(gòu)造函數(shù)寫上返回類型就行了
method.setReturnType(FullyQualifiedJavaType.getVoidInstance());
//設(shè)置方法名,同樣可以自己進(jìn)去看
method.setName(introspectedTable.getUpdateByPrimaryKeyStatementId());
//method.addParameter(new Parameter(parameterType, "record")); //$NON-NLS-1$
FullyQualifiedJavaType mapType=FullyQualifiedJavaType.getMyMapInstance();
//方法的參數(shù),這里是Map類型的dateMap參數(shù)
Parameter parameter = new Parameter(mapType, "dataMap");
method.addParameter(parameter);
context.getCommentGenerator().addGeneralMethodComment(method,
introspectedTable);
addMapperAnnotations(interfaze, method);
if (context.getPlugins()
.clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(method,
interfaze, introspectedTable)) {
interfaze.addImportedTypes(importedTypes);
interfaze.addMethod(method);
}
}
public void addMapperAnnotations(Interface interfaze, Method method) {
return;
}
}

大家可以根據(jù)注釋來修改。

接下來修改mapping對應(yīng)的xml中的代碼,同樣的,這里我只介紹修改update方法,相信看完你就能自己修改其它方法。

就修改org.mybatis.generator.codegen.mybatis3.xmlmapper.elements包下的UpdateByPrimaryKeyWithoutBLOBsElementGenerator類,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
* Copyright 2009 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.mybatis.generator.codegen.mybatis3.xmlmapper.elements;
import java.util.Iterator;
import java.util.List;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.dom.OutputUtilities;
import org.mybatis.generator.api.dom.xml.Attribute;
import org.mybatis.generator.api.dom.xml.TextElement;
import org.mybatis.generator.api.dom.xml.XmlElement;
import org.mybatis.generator.codegen.mybatis3.MyBatis3FormattingUtilities;
/**
*
* @author Jeff Butler
*
*/
public class UpdateByPrimaryKeyWithoutBLOBsElementGenerator extends
AbstractXmlElementGenerator {
//private boolean isSimple;
public UpdateByPrimaryKeyWithoutBLOBsElementGenerator(boolean isSimple) {
super();
//this.isSimple = isSimple;
}
@Override
public void addElements(XmlElement parentElement) {
//update標(biāo)簽(方法最外層)
XmlElement answer = new XmlElement("update"); //$NON-NLS-1$
//update標(biāo)簽的屬性
answer.addAttribute(new Attribute(
"id", introspectedTable.getUpdateByPrimaryKeyStatementId())); //$NON-NLS-1$
answer.addAttribute(new Attribute("parameterType", //$NON-NLS-1$
"Map"));
//把標(biāo)簽加進(jìn)去
context.getCommentGenerator().addComment(answer);
StringBuilder sb = new StringBuilder();
sb.append("update "); //$NON-NLS-1$
sb.append(introspectedTable.getFullyQualifiedTableNameAtRuntime());
//標(biāo)簽內(nèi)容,即文本元素
answer.addElement(new TextElement(sb.toString()));
sb.setLength(0);
//set標(biāo)簽
XmlElement setElement = new XmlElement("set"); //$NON-NLS-1$
//獲取數(shù)據(jù)庫表中的所有字段
List <IntrospectedColumn> cols=introspectedTable.getAllColumns();
//迭代
java.util.Iterator<IntrospectedColumn> iter =cols.iterator();
while (iter.hasNext()) {//迭代
//迭代到某一字段
IntrospectedColumn introspectedColumn = iter.next();
//if標(biāo)簽
XmlElement ifElement = new XmlElement("if"); //$NON-NLS-1$
//字段名
String str=MyBatis3FormattingUtilities
.getEscapedColumnName(introspectedColumn);
//if標(biāo)簽添加屬性test,值為 字段 !=null and 字段!=''
ifElement.addAttribute(new Attribute("test",str+" != null and "+str+"!='' "));
//if標(biāo)簽內(nèi)容 ,文本元素,給字段賦予即將修改的值
sb.append(MyBatis3FormattingUtilities
.getEscapedColumnName(introspectedColumn));
sb.append(" = "); //$NON-NLS-1$
sb.append(MyBatis3FormattingUtilities
.getParameterClause(introspectedColumn));
if (iter.hasNext()) {
sb.append(',');
}
//if標(biāo)簽添加上面的文本元素
ifElement.addElement(new TextElement(sb.toString()));
if (iter.hasNext()) {
sb.setLength(0);
OutputUtilities.xmlIndent(sb, 1);
}
setElement.addElement(ifElement);
}
//where元素(修改的字段前提條件)
XmlElement whereElement =new XmlElement("where");
for (IntrospectedColumn introspectedColumn : introspectedTable
.getPrimaryKeyColumns()) {//遍歷表中字段進(jìn)行判斷
sb.setLength(0);
sb.append(MyBatis3FormattingUtilities
.getEscapedColumnName(introspectedColumn));
sb.append(" = "); //$NON-NLS-1$
sb.append(MyBatis3FormattingUtilities
.getParameterClause(introspectedColumn));
whereElement.addElement(new TextElement(sb.toString()));
}
//方法中最外層xml元素 update元素添加set元素和where元素
answer.addElement(setElement);
answer.addElement(whereElement);
if (context.getPlugins()
.sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated(answer,
introspectedTable)) {
parentElement.addElement(answer);
}
}
}

其它方法大家可以根據(jù)這個update方法改。

如果要添加新方法的話參考下面這個帖子

http://m.blog.csdn.net/article/details?id=35985705

下面我來驗(yàn)證修改成果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
generatorConfig.xml //先配置xml 放在src/main/resources/ 目錄下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<!-- 引入配置文件 -->
<!-- 指定數(shù)據(jù)連接驅(qū)動jar地址 -->
<classPathEntry location="E:\eclipse_workspace\testMybatis\mysql-connector-java-5.1.13-bin.jar" />
<!-- 一個數(shù)據(jù)庫一個context -->
<context id="infoGuardian" targetRuntime="MyBatis3">
<!-- 注釋 -->
<commentGenerator >
<property name="suppressAllComments" value="true"/><!-- 是否取消注釋 -->
<property name="suppressDate" value="true" /> <!-- 是否生成注釋代時間戳-->
</commentGenerator>
<!-- jdbc連接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/login?characterEncoding=UTF-8" userId="root"
password="root" />
<!-- 類型轉(zhuǎn)換 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自動轉(zhuǎn)化以下類型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成實(shí)體類地址 -->
<javaModelGenerator targetPackage="pojo"
targetProject="mybatis3" >
<!-- 是否在當(dāng)前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
<property name="enableSubPackages" value="true"/>
<!-- 是否針對string類型的字段在set的時候進(jìn)行trim調(diào)用 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成mapxml文件 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="mybatis3" >
<!-- 是否在當(dāng)前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成mapxml對應(yīng)client,也就是接口dao -->
<javaClientGenerator type="XMLMAPPER" targetPackage="mapper"
targetProject="mybatis3">
<!-- 是否在當(dāng)前路徑下新加一層schema,eg:fase路徑cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 配置表信息,這里沒生成一張表,這里需要改變一次對應(yīng)表名 -->
<table tableName="login"
domainObjectName="Login" enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
</table>
</context>
</generatorConfiguration>

StartUp.java//驗(yàn)證的主程序

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package tse;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
public class StartUp {
public static void main(String []args)throws Exception{
List<String> warnings = new ArrayList<String>();
File configFile=new File(StartUp.class.getResource("/generatorConfig.xml").toURI());
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback shellCallback = new DefaultShellCallback(true);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, shellCallback, warnings);
myBatisGenerator.generate(null);
System.out.println(warnings);
}
}

好了,運(yùn)行StartUp.java

Mybatis逆工程jar包的修改和打包

就根據(jù)generatorConfig.xml的配置在目標(biāo)目錄生成對應(yīng)文件。

OK,和我預(yù)期結(jié)果一樣。

5.上面修改完了,我們開始打包。

由于是個maven項(xiàng)目,我用的是maven3.3.9,大家也可以用eclipse內(nèi)置的maven,反正我是不喜歡。

下面是我maven項(xiàng)目的pom.xml文件代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2009-2011 The MyBatis Team
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
version: $Id: pom.xml 4114 2011-11-27 19:03:32Z simone.tripodi $
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator</artifactId>
<version>1.3.2</version>
</parent>
<artifactId>mybatis-generator-core</artifactId>
<packaging>jar</packaging>
<name>MyBatis Generator Core</name>
<build>
<!-- this build creates and installs an instrumented JAR file
for use by the systests projects - so we can gather
consolidated coverage information
-->
<plugins>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>site</goal>
</goals>
</execution>
</executions>
</plugin> -->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin> -->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<includes>
<include>**/org/**</include>
</includes>
</configuration>
</execution>
</executions>
</plugin> -->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin> -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<executions>
<execution>
<id>cobertura-instrument</id>
<phase>pre-integration-test</phase>
<goals>
<goal>instrument</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>org.mybatis.generator.api.ShellRunner</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>cobertura-jar</id>
<phase>integration-test</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>cobertura</classifier>
<classesDirectory>${basedir}/target/generated-classes/cobertura</classesDirectory>
</configuration>
</execution>
</executions>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>attach-jar</id>
<phase>integration-test</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix></classpathPrefix>
<mainClass>org.mybatis.generator.api.ShellRunner</mainClass>
</manifest>
</archive>
<includes>
<include>**/org/**</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>cobertura-install</id>
<phase>integration-test</phase>
<goals>
<goal>install</goal>
</goals>
<configuration>
<classifier>cobertura</classifier>
</configuration>
</execution>
</executions>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>${basedir}/src/main/assembly/src.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>bundle</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/main/assembly/src.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.maven-gcu-plugin</groupId>
<artifactId>maven-gcu-plugin</artifactId>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<uploads>
<upload>
<file>${project.build.directory}/${project.artifactId}-${project.version}-bundle.zip</file>
<summary>MyBatis Generator ${project.version}</summary>
<labels>
<label>Featured</label>
<label>Type-Archive</label>
<label>Product-Generator</label>
<label>Version-${project.version}</label>
</labels>
</upload>
</uploads>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<arguments>-Prelease,gupload</arguments>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<version>2.0-beta-2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
</dependency>
</dependencies>
<scm>
<url>https://mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-generator-1.3.2/mybatis-generator-core</url>
<connection>scm:svn:https://mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-generator-1.3.2/mybatis-generator-core</connection>
<developerConnection>scm:svn:https://mybatis.googlecode.com/svn/sub-projects/generator/tags/mybatis-generator-1.3.2/mybatis-generator-core</developerConnection>
</scm>
</project>

然后是修改src/main/assembly/src.xml代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>bundle</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>generatorConfig.xml</include>
</includes>
<excludes>
<exclude>log4j.properties</exclude>
<exclude>src.xml</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>src/main/scripts</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>run.bat</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>${project.artifactId}-${project.version}.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>${project.artifactId}-${project.version}-sources.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>

接下來,在src/main/ 下面新建scripts文件夾,在scripts文件夾新建txt文本文檔,輸入以下代碼

java -jar mybatis-generator-1.3.2.jar -configfile generatorConfig.xml –overwrite
pause

改文件名為run.bat

至此,打包配置完畢。

大家可以在項(xiàng)目下右鍵Run as->maven build 在goal里輸入package。或者命令行cmd中 進(jìn)入項(xiàng)目的目錄,運(yùn)行mvn package,這里第一次運(yùn)行會等待很久,因?yàn)閙aven會下載依賴的jar包,請耐心等待。

打包完畢,就會在項(xiàng)目根目錄下的target目錄生成如下結(jié)構(gòu)

Mybatis逆工程jar包的修改和打包

從上圖中我們可以看到mybatis-generator-core-1.3.2.jar包已經(jīng)生成。接下來我們可以用它加上generatorConfig.xml來生成自己想要的代碼。

如果修改代碼過程中有什么不懂的,請多看源代碼。

OK,曬下成果圖

Mybatis逆工程jar包的修改和打包

Mybatis逆工程jar包的修改和打包

本文就講到這里!

以上所述是小編給大家介紹的Mybatis逆工程jar包的修改和打包的相關(guān)知識,希望對大家有所幫助!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产馆精品推荐在线观看 | 乌克兰一级毛片9一18 | 男人看的网址 | 日本高清视频在线观看 | 高清在线免费 | 毛片免费在线视频 | 99日影院在线播放 | 国产精品综合在线 | 色老板视频在线观看 | 午夜爱爱片 | 男人女人日批 | 欧美成人中文字幕在线看 | 激情视频图片小说qvdo | 亚洲欧美激情日韩在线 | 国产一区二区三区免费在线视频 | 国产精品久久久久久久福利院 | 日本高清va不卡视频在线观看 | 日本大片免aaa费观看视频 | 色人阁图片 | yellow高清视频日本动漫 | 日韩在线一区二区三区 | 504神宫寺奈绪大战黑人 | 男人的天堂在线观看视频不卡 | 侵犯小男生免费视频网站 | 狠狠撸在线影院 | 久久AV喷吹AV高潮欧美 | 欧美日日操 | 狠狠色婷婷丁香六月 | 窝窝午夜精品一区二区 | 国产 日韩 欧美 综合 | 国产成人在线影院 | 波多野结衣家庭教师 | 办公室恋情在线观看 | 久久综合中文字幕佐佐木希 | 99精品在线| 性刺激欧美三级在线现看中文 | jk制服蕾丝超短裙流白浆 | 国产综合图区 | 日本免费一区二区三区a区 日本免费三片在线观看 | 国产香蕉一区二区在线网站 | 日本xxxxxxxxx高清hd|