MybatisGenerator IDEA

1.创建meavn-quickstart工程

  • 删除 Test 文件夹,app.java文件
  • 创建 pojo,dao,mapper 包
  • 项目完成目录结构
  • Jietu20171121-164948

2.配置插件

  • pom.xml 文件中添加mybatis-generator-maven-plugin插件
  • <verbose>元素设置插件在逆行过程是否显示详情信息
  • <overwrite>元素设置,重复执行插件的 install 的时候会覆盖 dao接口和pojo实体类
 <build>
   <plugins>
     <plugin>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-maven-plugin</artifactId>
       <version>1.3.5</version>
         <configuration>
             <verbose>true</verbose>
             <overwrite>true</overwrite>
         </configuration>
     </plugin>
   </plugins>
 </build>  

3.创建generatorConfig.xml文件

  • 参考官网配置generatorConfig.xml

  • 创建generatorConfig.xml文件放在resources 根目录下

  • <classPathEntry配置数据库连接jar的位置

    • location设置路径
  • <context>上下文的配置

    • targetRuntime取值有MyBatis3Simple,MyBatis3.取MyBatis3Simple工程会更简洁.
  • <jdbcConnection>元素指定数据库连接信息

  • <javaModelGenerator>元素指定Java实体类放在哪个工程的哪个包下(使用绝对路径)

    • enableSubPackages 设置为 true 的时候没有包就自动给创建包
    • trimStrings 设置为 true 数据库中字段最后又空格自动给删除掉
  • <sqlMapGenerator>元素指定Mapper.xml文件放在哪个工程哪个文件下

  • <javaClientGenerator>元素指定dao接口文件放在哪个工程下

    • type 取值有XMLMAPPER,ANNOTATEDMAPPER两种.XMLMAPPER会生成 mapper.xml 文件,ANNOTATEDMAPPER使用注解不会生成 mapper.xml 文件
  • table设置要逆向的表,可以写多个表

    • domainObjectName 设置实体类的名称
    • mapperName 设置 mapper 的名称,给接口起 DAO可以设置这个属性
  • 我配置的 generatorConfig.xml 内容

<?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="/Users/maker/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>
    
    <!--整体环境配置 targetRuntime 设置简单类型-->
    <context id="generatorDemo" targetRuntime="MyBatis3Simple">

        <!--取消注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--jdbcConnection-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/e3mall?characterEncoding=utf-8" userId="root" password="admin"/>

        <!-- 设置javaBean输出位置-->
        <javaModelGenerator targetPackage="cn.c3mall.pojo" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- sqlMapper 生成的地方 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- dao 接口配置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.c3mall.dao" targetProject="/Users/maker/Desktop/JavaCode/IDEAProject/MybatisGeneratorDemo/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 表名 -->
        <table tableName="tb_order_item" domainObjectName="OrderItem" mapperName="OrderItemDao"></table>
    </context>
</generatorConfiguration>

4.执行插件生成 pojo,dao,mapper.xml 文件

run

5.附个demo地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,234评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,998评论 6 342
  • Spring 技术笔记Day 1 预热知识一、 基本术语Blob类型,二进制对象Object Graph:对象图...
    OchardBird阅读 1,020评论 0 2
  • 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的 配置文...
    蕊er阅读 482评论 0 0
  • 还记得某个秋日午后,我和女朋友散步在黄金城道,路过一家花店。 “多美的花!”我感叹。 “我送你吧,你喜欢哪束?”女...
    yaparis阅读 269评论 0 0