idea maven mybatis generator 自动生成代码的实例讲解
安装过程步骤可以看上面的博文,里面介绍得很详细。
二、建数据表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
drop table if exists `t_user`;
create table `t_user` (
`id` varchar( 100 ) not null ,
`username` varchar( 20 ) default null ,
`password` varchar( 20 ) default null ,
`headerpic` varchar( 60 ) default null ,
`email` varchar( 60 ) default null ,
`sex` varchar( 2 ) default null ,
`create_time` datetime default null ,
`update_time` timestamp not null default current_timestamp on update current_timestamp,
`is_delete` int ( 1 ) default null ,
`address` varchar( 200 ) default null ,
`telephone` varchar( 15 ) default null ,
primary key (`id`)
) engine=innodb default charset=utf8;
|
三、idea创建maven项目
1、点击create new project-》maven-》create from archetype->maven-archetype-webapp,然点击next,步骤如图:
2、填写groupid和artifactid:(这两个参数值都是自己定义的),下面这段文字,是网上抄来的,以便大家更好地了解这两个参数。
groupid和artifactid被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupid是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactid是tomcat。
比如我创建一个项目,我一般会将groupid设置为cn.laok,cn表示域为中国,laok是我个人姓名缩写,artifactid设置为testproj,表示你这个项目的名称是testproj,依照这个设置,你的包结构最好是cn.laok.testproj打头的,如果有个userdao,它的全路径就是cn.laok.testproj.dao.userdao
3、点击next,配置maven信息,如图:
4、点击next,填写项目名称,如图:
5、创建完成后,项目的结构如图,在生成代码之前,不需要创建其他文件夹,但是需要把resources文件夹设置成resources root(右键点击resources文件夹-》mark directory as->resources root)
四、配置pom.xml和generatorconfig.xml
1、在pom.xml中加入以下配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<build>
<finalname>create-code</finalname>
<plugins>
<plugin>
<groupid>org.mybatis.generator</groupid>
<artifactid>mybatis-generator-maven-plugin</artifactid>
<version> 1.3 . 2 </version>
<configuration>
<verbose> true </verbose>
<overwrite> true </overwrite>
</configuration>
</plugin>
</plugins>
</build>
|
2、在resources源文件夹下面创建generatorconfig.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
|
<?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>
<classpathentry location= "d:/java/lib/mysql-connector-java-5.1.43-bin.jar" />
<context id= "test" targetruntime= "mybatis3" >
<plugin type= "org.mybatis.generator.plugins.equalshashcodeplugin" ></plugin>
<plugin type= "org.mybatis.generator.plugins.serializableplugin" ></plugin>
<plugin type= "org.mybatis.generator.plugins.tostringplugin" ></plugin>
<commentgenerator>
<!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false :表示保护 -->
<!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为 true -->
<property name= "suppressdate" value= "true" />
<!-- 是否去除自动生成的注释 true :是 : false :否 -->
<property name= "suppressallcomments" value= "false" />
</commentgenerator>
<!--数据库链接url,用户名、密码 -->
<jdbcconnection driverclass= "com.mysql.jdbc.driver"
connectionurl= "jdbc:mysql://localhost:3306/article" userid= "root" password= "" >
</jdbcconnection>
<javatyperesolver>
<!-- this property is used to specify whether mybatis generator should
force the use of java.math.bigdecimal for decimal and numeric fields, -->
<property name= "forcebigdecimals" value= "false" />
</javatyperesolver>
<!-- 生成模型的包名和位置 文件夹自己定义-->
<javamodelgenerator targetpackage= "com.test.model"
targetproject= "target" >
<property name= "enablesubpackages" value= "true" />
<property name= "trimstrings" value= "true" />
</javamodelgenerator>
<!-- 生成映射文件的包名和位置 文件夹自己定义-->
<sqlmapgenerator targetpackage= "com.test.mapping"
targetproject= "target" >
<property name= "enablesubpackages" value= "true" />
</sqlmapgenerator>
<!-- 生成dao的包名和位置 文件夹自己定义-->
<javaclientgenerator type= "xmlmapper"
targetpackage= "com.test.dao" implementationpackage= "com.test.dao.impl" targetproject= "target" >
<property name= "enablesubpackages" value= "true" />
</javaclientgenerator>
<!-- 要生成哪些表 -->
<table tablename= "t_user" domainobjectname= "user"
enablecountbyexample= "false" enableupdatebyexample= "false"
enabledeletebyexample= "false" enableselectbyexample= "false"
selectbyexamplequeryid= "false" ></table>
</context>
</generatorconfiguration>
|
3、配置完成后,一定要点击build->rebuild project,生成target文件夹,不然生产代码的时候是生产在target文件下下面,没有这个文件夹会报错,当然也可以配置生成在其他文件夹下面。项目结构如图:
特别注意的一点:一定要在配置文件中加入本地的mysql-connector-java-5.1.43-bin.jar,
下载地址:https://dev.mysql.com/downloads/connector/j/
然后解压到本地,我的配置如下:<classpathentry location="d:/java/lib/mysql-connector-java-5.1.43-bin.jar" />
这个需要大家根据自己存放的路径配置。
五、执行生成代码
1、点击run->edit configurations,如图:
2、之后弹出运行配置框,为当前配置配置一个名称,这里其名为"generator",然后在 “command line” 选项中输入“mybatis-generator:generate -e”
这里加了“-e ”选项是为了让该插件输出详细信息,这样可以帮助我们定位问题。
3、配置完成后,点击run-》run generator,不出意外的话,在控制台中会出现build success的info信息。完整的效果如图所示:
有写得不对的地方,烦请各位大佬指正,非常感谢。
以上这篇idea maven mybatis generator 自动生成代码(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/jamespan23/p/8064176.html