2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 Eclipse中的安装

1.下载插件

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

2.将插件generator的features和plugins里的东西都拷贝到eclipse的文件夹features和plugins下。

3.重启eclipse,验证是否安装成功。

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

Eclipse中的使用

1.新建一个generatorConfig文件

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2.generatorConfig.xml文件的配置

  • jdbcConnection ---数据库链接URL、用户名、密码
  • javaModelGenerator---生成模型的包名和位置,就是mybatis 里面用的一些entity 类的存放路径配置
  • sqlMapGenerator ---生成的映射文件报名和位置,就是对应mybatis 的写sql 语句的xml文件的存放路径配置
  • javaClientGenerator---生成DAO的包名和位置,就是mybatis 里面dao 接口的存放路径
  • table---这个配置项是配置在项目中操作的数据库表

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

(1)pom.xml中添加依赖

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

(2)运行项目,执行run as -》 maven install 

执行成功后,仓库里会下载下来这些依赖包。(如果有的话,就一直skip然后就build success了)

 

(3)找到postgresql的jar包位置

这个jar包的位置会在后面的配置文件generatorConfig.xml中用到。

E:\lyh\file\repository\org\postgresql\postgresql\9.4-1206-jdbc41\...
<classPathEntry location="E:\lyh\file\repository\org\postgresql\postgresql\9.4-1206-jdbc41\postgresql-9.4-1206-jdbc41.jar"/>

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

 

(4)查看表所在的数据库信息

<jdbcConnection 
        driverClass="org.postgresql.Driver" 
        connectionURL="jdbc:postgresql://10.15.10.14:5432/postgres
        userId="postgres
        password="admin" />

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

<table tableName="globalpage" domainObjectName="GlobalInfo"/>

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

(5)配置generatorConfig.xml文件

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

(6)配置完后运行mybatisConfig.xml

点击mybatisConfig.xml,右键选择generate mybatis ....

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

(7)查看结果

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

(8)查看详细代码

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

疑问:这里有些东西多出来的不知道干嘛~

后来百度知道,这是generator自动生成的example,如果不想要的话,可以在配置文件里配置一下,参看另一篇博文:

2016.7.14 去掉Mybatis Generator生成的一堆 example

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

还有一个:现在是默认不分页的!还要继续完成分页功能。(可以看到mapper文件里没有分页语句)

 

IDEA中的安装

pom.xml增加配置,见下面。

 

IDEA中的使用

先确保数据库连接ok,并且表已经建好。

建表语句:

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

1.pom.xml中增加mybatis-generator的配置

 1 <build>
 2     <finalName>mmall</finalName>
 3     <plugins>
 4       <plugin>
 5         <groupId>org.mybatis.generator</groupId>
 6         <artifactId>mybatis-generator-maven-plugin</artifactId>
 7         <version>1.3.2</version>
 8         <configuration>
 9           <verbose>true</verbose>
10           <overwrite>true</overwrite>
11         </configuration>
12       </plugin>
13       ...
14 </build>

 

2.generatorConfig.xml

新建文件 : src/main/resources/generatorConfig.xml

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 <generatorConfiguration>
 7     <!--导入属性配置-->
 8     <properties resource="datasource.properties"></properties>
 9 
10     <!--指定特定数据库的jdbc驱动jar包的位置-->
11     <classPathEntry location="${db.driverLocation}"/>
12 
13     <context id="default" targetRuntime="MyBatis3">
14 
15         <!-- optional,旨在创建class时,对注释进行控制 -->
16         <commentGenerator>
17             <property name="suppressDate" value="true"/>
18             <property name="suppressAllComments" value="true"/>
19         </commentGenerator>
20 
21         <!--jdbc的数据库连接 -->
22         <jdbcConnection
23                 driverClass="${db.driverClassName}"
24                 connectionURL="${db.url}"
25                 userId="${db.username}"
26                 password="${db.password}">
27         </jdbcConnection>
28 
29 
30         <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
31         <javaTypeResolver>
32             <property name="forceBigDecimals" value="false"/>
33         </javaTypeResolver>
34 
35 
36         <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
37             targetPackage     指定生成的model生成所在的包名
38             targetProject     指定在该项目下所在的路径
39         -->
40         <!--<javaModelGenerator targetPackage="com.mmall.pojo" targetProject=".\src\main\java">-->
41         <javaModelGenerator targetPackage="com.mmall.pojo" targetProject="./src/main/java">
42             <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
43             <property name="enableSubPackages" value="false"/>
44             <!-- 是否对model添加 构造函数 -->
45             <property name="constructorBased" value="true"/>
46             <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
47             <property name="trimStrings" value="true"/>
48             <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
49             <property name="immutable" value="false"/>
50         </javaModelGenerator>
51 
52         <!--mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
53         <!--<sqlMapGenerator targetPackage="mappers" targetProject=".\src\main\resources">-->
54         <sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
55             <property name="enableSubPackages" value="false"/>
56         </sqlMapGenerator>
57 
58         <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
59                 type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
60                 type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
61                 type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
62         -->
63 
64         <!-- targetPackage:mapper接口dao生成的位置 -->
65         <!--<javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject=".\src\main\java">-->
66         <javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject="./src/main/java">
67             <!-- enableSubPackages:是否让schema作为包的后缀 -->
68             <property name="enableSubPackages" value="false" />
69         </javaClientGenerator>
70 
71 
72         <table tableName="mmall_shipping" domainObjectName="Shipping" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
73         <table tableName="mmall_cart" domainObjectName="Cart" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
74         <table tableName="mmall_cart_item" domainObjectName="CartItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
75         <table tableName="mmall_category" domainObjectName="Category" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
76         <table tableName="mmall_order" domainObjectName="Order" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
77         <table tableName="mmall_order_item" domainObjectName="OrderItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
78         <table tableName="mmall_pay_info" domainObjectName="PayInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
79         <table tableName="mmall_product" domainObjectName="Product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
80             <!-- 数据库的表中这两个字段用的text,mybatis不同版本生成的不一样,所以改为VARCHAR -->
81             <columnOverride column="detail" jdbcType="VARCHAR" />
82             <columnOverride column="sub_images" jdbcType="VARCHAR" />
83         </table>
84         <table tableName="mmall_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
85 
86 
87         <!-- geelynote mybatis插件的搭建 -->
88     </context>
89 </generatorConfiguration>
90 
91 gerneratorConfig.xml
generatorConfig.xml

 

重点说明的几个点(其他都采用默认配置):

 2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

3.datasource.properties

 generatorConfig.xml中用到了datasource.properties,在同目录新增文件datasource.properties。

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

注意这里的driverLocation:

1 db.driverLocation=E:/lyh/file/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar
2 db.driverClassName=com.mysql.jdbc.Driver
3 db.url=jdbc:mysql://localhost:3306/mmall_learning?characterEncoding=utf-8
4 db.username=root
5 db.password=****

 

在pom.xml中配置过mysql的驱动,所以只要去maven的本地仓库里找到地址就行:

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

 2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

4.执行mybatis-generator:generate

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

 运行之后:

2016.7.12 eclipse和IDEA中mybatis generator插件的安装与使用

 

同样,也是没有分页相关语句的。