• 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:lyhfile epositoryorgpostgresqlpostgresql9.4-1206-jdbc41...
    <classPathEntry location="E:lyhfile epositoryorgpostgresqlpostgresql9.4-1206-jdbc41postgresql-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=".srcmainjava">-->
    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=".srcmain
    esources">-->
    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=".srcmainjava">-->
    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

     运行之后:

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

  • 相关阅读:
    关于代码的一系列调整
    题目清单(更新至2016年12月17日 10:52)
    USACO翻译:USACO 2013 NOV Silver三题
    USACO翻译:USACO 2013 DEC Silver三题
    USACO翻译:USACO 2014 DEC Silver三题
    USACO翻译:USACO 2012 FEB Silver三题
    USACO翻译:USACO 2012 JAN三题(3)
    USACO翻译:USACO 2012 JAN三题(2)
    USACO翻译:USACO 2012 JAN三题(1)
    USACO翻译:USACO 2014 FEB SILVER 三题
  • 原文地址:https://www.cnblogs.com/lyh421/p/5672779.html
Copyright © 2020-2023  润新知