未读代码 未读代码
首页
  • Java 18 新功能介绍
  • Java 17 新功能介绍
  • Java 16 新功能介绍
  • Java 15 新功能介绍
  • Java 14 新功能介绍
  • Java 8 新特性

    • Java 8 Lambda 表达式
    • Java 8 Stream 流式操作
    • Java 8 时间处理介绍
    • Java 8 Optional 介绍
  • Java 开发工具
Java 源码分析
Spring Boot 系列
  • Arthas 问题定位
  • JMH 基准测试
GitHub (opens new window)
首页
  • Java 18 新功能介绍
  • Java 17 新功能介绍
  • Java 16 新功能介绍
  • Java 15 新功能介绍
  • Java 14 新功能介绍
  • Java 8 新特性

    • Java 8 Lambda 表达式
    • Java 8 Stream 流式操作
    • Java 8 时间处理介绍
    • Java 8 Optional 介绍
  • Java 开发工具
Java 源码分析
Spring Boot 系列
  • Arthas 问题定位
  • JMH 基准测试
GitHub (opens new window)
  • Java 开发

  • Java 开发工具

    • Apache HttpClient 5 使用详细教程
    • Jackson 解析 JSON 详细教程
    • Guava - 拯救垃圾代码,写出优雅高效,效率提升N倍
    • 抛弃Eclipse,投入IDEA 的独孤求败江湖
    • Java 反编译工具的使用与对比分析
    • 如何使用 Lombok 进行优雅的编码
    • 使用MyBatis Generator自动生成Model、Dao、Mapper相关代码
      • 使用Apache Ant 进行Java web项目打包并部署至TOMCAT
      • Linux配置Tomcat的单机多实例
    • 消息中间件

    • Java 开发
    • Java 开发工具
    程序猿阿朗
    2017-11-01

    使用MyBatis Generator自动生成Model、Dao、Mapper相关代码

    # MyBatis Generator?

    MyBatis是一款非常流行的开源框架,在简单的进行框架配置后可以快速的进入开发阶段,主要的工作是编写Mapper文件和相关Dao接口以及实体类,久之,麻烦,发现这个工具,可以自动化的生成Model、Dao、Mapper相关代码。可谓是是开发MyBatis神器。

    Mybatis generator的功能介绍:MyBatis发电机简介 (opens new window)

    # 工具准备

    • mysql-connector-java-5.1.6.jar 用于连接数据库 mybatis-generator-core-1.3.5.jar (opens new window) 用于生成相关代码(点击直接下载)
    • generator.xml 配置生成逻辑

    把工具放在统一目录下 我在此处放置在了D:/generator之下:

    D:\generator>dir
    
    2017/07/12  10:11             3,242 generator.xml
    2017/07/11  20:35           555,960 mybatis-generator-core-1.3.5.jar
    2017/06/28  21:44           703,265 mysql-connector-java-5.1.6.jar
                   3 个文件      1,262,467 字节
    
    D:\generator>
    
    1
    2
    3
    4
    5
    6
    7
    8

    ###配置generator.xml 注意修改相关信息,数据库用户名和密码,添加要生成的表名称。 由于配置了javaModelGenerator,需要在同目录下新建文件夹src

     <!-- 生成模型的包名和位置 -->  
            <javaModelGenerator targetPackage="net.codingme.po" targetProject="D:\generator\src">  
    
    1
    2

    generator.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="D:\generator\mysql-connector-java-5.1.6.jar" />   
        <!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />-->  
        <context id="DB2Tables" targetRuntime="MyBatis3">  
            <commentGenerator>  
                <property name="suppressAllComments" value="true" />  
            </commentGenerator>  
            <!-- 数据库链接URL、用户名、密码 -->  
             <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/maven?characterEncoding=utf8" userId="root" password="123">   
            </jdbcConnection>  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false" />  
            </javaTypeResolver>  
            <!-- 生成模型的包名和位置 -->  
            <javaModelGenerator targetPackage="net.codingme.po" targetProject="D:\generator\src">  
                <property name="enableSubPackages" value="true" />  
                <property name="trimStrings" value="true" />  
            </javaModelGenerator>  
            <!-- 生成的映射文件包名和位置 -->  
            <sqlMapGenerator targetPackage="net.codingme.mapper" targetProject="D:\generator\src">  
                <property name="enableSubPackages" value="true" />  
            </sqlMapGenerator>  
            <!-- 生成DAO的包名和位置 -->  
            <javaClientGenerator type="XMLMAPPER" targetPackage="net.codingme.dao" targetProject="D:\generator\src">  
                <property name="enableSubPackages" value="true" />  
            </javaClientGenerator>  
            <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->  
            <table tableName="POST" domainObjectName="Post" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />  
            <table tableName="TAG" domainObjectName="Tag" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
        </context>  
    </generatorConfiguration>  
    
    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

    # 在当前目录下运行命令进行生成

    java -jar mybatis-generator-core-1.3.5.jar -configfile generator.xml -overwrite

    D:\generator>java -jar mybatis-generator-core-1.3.5.jar  -configfile generator.xml -overwrite
    MyBatis Generator finished successfully.
    
    D:\generator>
    
    1
    2
    3
    4

    # 查看生成的文件

    
    D:\generator\src>tree /f
    卷 software 的文件夹 PATH 列表
    卷序列号为 00000042 0000:FF78
    D:.
    └─net
        └─codingme
            ├─dao
            │      PostMapper.java
            │      TagMapper.java
            │
            ├─mapper
            │      PostMapper.xml
            │      TagMapper.xml
            │
            └─po
                    Post.java
                    PostWithBLOBs.java
                    Tag.java
    
    
    D:\generator\src>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22

    代码已经自动生成完成,拷贝粘贴修修改改即可。

    订阅

    文章持续更新,订阅可以关注「 程序猿阿朗 」公众号或者未读代码博客。

    文章作者: 程序猿阿朗
    文章链接:https://www.wdbyte.com/2017/11/develop/tool-mybatis-generator/
    版权声明:本网站当前文章采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 未读代码!
    #Mybatis#Mybatis Generator#开发工具
    上次更新: 2022/12/05, 08:18:32
    如何使用 Lombok 进行优雅的编码
    使用Apache Ant 进行Java web项目打包并部署至TOMCAT

    ← 如何使用 Lombok 进行优雅的编码 使用Apache Ant 进行Java web项目打包并部署至TOMCAT→

    最近更新
    01
    如何搭建一个自己的音乐服务器
    12-04
    02
    JUnit 5 单元测试教程
    11-17
    03
    使用 StringUtils.split 的坑
    11-02
    更多文章>

    提示:评论前请刷新页面,否则评论的可能不是当前文章。

    Theme by Vdoing | Copyright © 2018-2022 程序猿阿朗 | MIT License | 皖ICP备20000567号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式