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

 Eclipse中的安装

1.下载插件

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

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

 

Eclipse中的使用

1.新建一个generatorConfig文件

 

2.generatorConfig.xml文件的配置

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

 

(1)pom.xml中添加依赖

 

 

(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"/>

 

 

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

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

 

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

(5)配置generatorConfig.xml文件

 

 

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

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

 

(7)查看结果

 

(8)查看详细代码

 

 

 

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

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

2016.7.14 去掉Mybatis Generator生成的一堆 example

 

 

 

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

 

IDEA中的安装

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

 

IDEA中的使用

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

建表语句:

 

 

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

 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

 

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

 

 

 

 

 

3.datasource.properties

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

 

注意这里的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的本地仓库里找到地址就行:

 

 

 

4.执行mybatis-generator:generate

 

 运行之后:

 

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

posted @ 2016-07-15 10:43  七月流火嗞嗞嗞  阅读(17450)  评论(0编辑  收藏  举报