使用mybatis-generator自动生成代码(附GitHub下载地址)

Java范思哲 2018-07-06 13:41:41 ⋅ 631 阅读


前言

大家都知道Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,并且手动书写很容易出错,那么今天来介绍一下使用Mybatis-Generator来帮我们自动生成文件。如果大家有更好实现方式欢迎留言一起探讨哦,让大家开发起来更爽更便捷~~~

第一步:下载mybatis-generator工具包

GitHub地址:https://github.com/yundianzixun/mybatis-generator-1.35,如下图所示:


第二步:修改配置信息

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="mysql-connector-java-5.1.9.jar"/>
    <context id="DB2Tables"    targetRuntime="MyBatis3">
        <commentGenerator> 
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"            connectionURL="数据库URL" userId="数据库用户名" password="数据库密码">
        </jdbcConnection>
        <!-- 数据库类型与java类型转换 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成Model类存放位置 -->
        <javaModelGenerator targetPackage="com.itunion.wxshop.model" targetProject="src">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>
        <!-- 生成映射文件存放位置 -->
        <sqlMapGenerator targetPackage="mapping" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成Dao类存放位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.itunion.wxshop.mapper" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 生成对应表及类名 -->
        <table tableName="user_info" domainObjectName="UserInfo"               enableCountByExample="false"               enableUpdateByExample="false"               enableDeleteByExample="false"               enableSelectByExample="false"               selectByExampleQueryId="false">
        </table>
    </context></generatorConfiguration>

修改点1:数据库配置

<jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="数据库URL" userId="数据库用户名" password="数据库密码">        </jdbcConnection>

修改点2:生成model类存放位置

#com.itunion.wxshop.model 可修改为自己项目映射目录
<javaModelGenerator targetPackage="com.itunion.wxshop.model" targetProject="src">            <property name="enableSubPackages" value="true"/>            <property name="trimStrings" value="false"/>        </javaModelGenerator>

修改点3:生成mapping文件存放位置

#targetPackage 报名可以修改
<!-- 生成映射文件存放位置 -->        <sqlMapGenerator targetPackage="mapping" targetProject="src">            <property name="enableSubPackages" value="true"/>        </sqlMapGenerator>

修改点4:生产Dao类存放位置

#targetPackage 目录可修改
<javaClientGenerator type="XMLMAPPER" targetPackage="com.itunion.wxshop.mapper" targetProject="src">            <property name="enableSubPackages" value="true"/>        </javaClientGenerator>

修改点5:生成对应表及类名

#对应自己的表信息(可copy多个)
<table tableName="user_info" domainObjectName="UserInfo"               enableCountByExample="false"               enableUpdateByExample="false"               enableDeleteByExample="false"               enableSelectByExample="false"               selectByExampleQueryId="false">        </table>

第三步:控制台执行生成命令(必须要安装好jdk哦)

  1. 进入mybatis-generator工具 lib 目录

xxx-2:~ lin$ cd /Users/lin/Downloads/JavaCode/mybatis-generator-core-1.3.5wx-shop/lib 
  1. 执行命令

xxx-2:~ lin$ cd /Users/lin/Downloads/JavaCode/mybatis-generator-core-1.3.5wx-shop/lib 
xxx-2:lib lin$ java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
MyBatis Generator finished successfully.
xxx-2:lib lin$ 
  1. 执行结果

MyBatis Generator finished successfully.
  1. 结果查看


第四步:将生成的文件放到自己项目中

generatorConfig.xml 文件里面的项目路径配置好了 直接copy就可以用,如果没有配置好 那么生成的内容还需要手工修改。

关注我们

更多精彩内容请关注“IT实战联盟”哦~~~


全部评论: 0

    我有话说:

    VUE 开源库收藏版(一):史上最全面的学习资源 ,GitHub源码地址

    VUE 开源库收藏版(一):史上最全面的学习资源 ,GitHub源码地址

    SpringBoot+zk+dubbo架构实践(四):sb+zk+dubbo框架搭建(内源码GitHub地址

    本篇案例模拟了一个provider服务提供方和PC、Web两个服务消费方内GitHub源码......

    VUE 开源库收藏版(二):史上最全面的学习资源 ,GitHub源码地址

    最近做了一个Vue开源项目库汇总,里面集合了OpenDigg 上的优质的Vue开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star。

    架构实战篇:使用MyBatis延迟加载模式为数据库减压,演示实例

    MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力......

    SpringBoot+zk+dubbo架构实践(五):搭建微服务电商架构(内GitHub地址

    集成了mybatis和swagger让接口可视化并完成了一些增删改查的基础业务,对了还有个分页查询!

    架构实战篇:MyBatis一级、二级,并整合ehcache分布式缓存的使用演示实例

    ehcache是一个纯Java的进程内缓存框架,是一种广泛使用的开源Java分布式缓存,具有快速、精干等特点,是Hibernate中默认的CacheProvider。

    精品推荐:Javascript 将 HTML 页面生成 PDF 并下载

    最近碰到个需求,需要把当前页面生成 pdf并下载,有需要的可以看看哦~~~

    WebSocket的一次了解,GitHub地址

    初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?

    「开源资讯」陌陌安全团队开源Java静态代码审计插件

    陌陌安全本次开源的Java静态代码安全审计插件,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。 此插件作为Java项目静态代码安全审计工具,侧重于在编码过程中发现项目潜在的安全风险

    代码整洁之道:Lombok 的使用

    Lombok项目是一种自动接通你的编辑器和构建工具的一个Java库。不用再一次写额外的getter或者equals方法。

    iOS实战篇:[译]iOS扩充--OCR光学字符识别(内项目GitHub地址

    OCR(Optical Character Recognition) 光学字符识别, 是从图像中电子扫描提取文本的过程, 可以在文档编辑等多种形式重用它,例如: 文本搜索/压缩等用途。

    Poppler 21.01.0 发布,PDF 生成工具

    Poppler 21.01.0 发布了。 Poppler 是从 Xpdf 3.0 代码库派生而来的 PDF 生成工具包。Poppler 使用了各种 PDF 类库(Evince,Okular

    Atom 1.56.0 发布,GitHub 官方文本编辑器

    Atom 是由 GitHub 开发的自由及开放源代码的文字与代码编辑器,支持 macOS、Windows 和 Linux 操作系统,支持 Node.js 所写的插件,并内置由 Github 提供的

    GitHub竟然有基于SpringCloud的“网约车”项目,源码

    有人问小编有没有开源的“网约车”项目源码,并且最好是采用微服务架构设计,这样可以投入技术团队进行二次开发。 小编在GitHub上还真找到了这个项目,接下来一起看一看吧! 项目介绍 该项目是一款标准且

    淘宝开源代码质量检测工具!

    好的代码一定是整洁的,并且能够帮助阅读的人快速理解和定位。好的代码可以加快应用的开发迭代速度,不必花过多的时间来修复 bug 和完善代码。好的代码不但能够使得新的项目成员更容易加入项目,同时方便项目

    京东技术:APP的UI自动化测试框架及平台化探索

    UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段。

    使用openssl自行颁发SSL证书

    使用openssl 自建ssl证书,轻松开发https服务

    搞定全局ID生成器:SpringBoot2.x 集成百度 uidgenerator

    创建数据库存 导入官网数据库SQL https://github.com/baidu/uid-generator/blob/master/src/main/scripts/WORKER_NODE

    架构实战篇(十二):Spring Boot 分布式Session共享Redis

    分布式Web网站一般都会碰到集群session共享问题,小编整理了一套解决方案,内GitHub 源码地址哦~~~