”工欲善其事,必先利其器“,古人说的很对,虽然不能做一个单纯的”工具帝“,但是自己有合适的工具集真的很关键。以前认识一个做逆向工程的高手,有自己的”反马套装“,其实不外乎就是 OD 、 IDA 、SysinternalsSuite 等之类的工具组合,当然还有一些自己写的小工具。对于高手就是这样,有自己的工具,对于新手而言,也是要尝试和搜集各种适合自己在项目中可以快速完成工作的工具。泥瓦工、木匠有自己的贴身的工具,游戏高手也有自己专用的鼠标、键盘、显示器和鼠标垫,作为程序员(我是初级的)没有自己合适工具说的过去?

  MyBatis-Generator 是一款 MyBatis 代码生成的工具,它一共有2个文件,一个是 mybatis-generator-core-1.3.2.jar 代码生成的 JAR 文件,另外一个是用于配置代码生成的 generator.xml 的 XML 文件。

配置说明

  在进行代码生成之前,需要先对 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.18-bin.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/db_name" userId="root" password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="package_name" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="package_name" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="package_name" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
<table tableName="table1" domainObjectName="Table1" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="table2" domainObjectName="Table2" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
<table tableName="table3" domainObjectName="Table3" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>

  上面的 XML 就是完整的 generitor.xml 文件的内容,需要修改的部分已经用注释进行了标注。

  第4行的注释可以看出,第5行的配置用于指定操作数据库的 JAR 包在本地的位置。

  第11行指定操作数据库的类名,数据库的地址、库名、数据库的账号和密码。

  第17行的 targetPackage 键指定生成实体类的包名,比如 org.test.model ,targetProject 指定生成的代码的路径。

  第22行的 targetPackage 键指定生成映射文件的包名,比如 org.test.mapper。

  第26行的 targetPackage 键指定生成数据访问接口的包名,比如 org.test.dao。

  第30行开始则是要进行代码生成的表名和实体类之间的对应关系,比如 tableName 键用于指定数据库中指定的表名, domainObjectName 用于指定数据库指定表名所对应的实体类(领域对象)。数据表和实体类映射后有一些相应的参数,比如 enableCountByExample 等会生成一些例子代码,这块省略。

  

代码生成

  将前面的配置文件配置完成后,使用命令即可将根据配置生成代码,命令如下:

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

  执行上述命令后会根据配置生成相应的目录和文件。

生成的目录如下:

  src\org\test\model 、 src\org\test\mapper 等目录。

生成的文件如下:

  Table1.java 、 Table2.java 等实体类文件。

  Table1Mapper.xml 、 Table2Mapper.xml 等 XML 文件。

  Table1Mapper.java 、 Table2Mapper.java 等接口文件。

  生成的具体代码在这里就不具体的列举了。

  有了 MyBatis-Generator 这个工具感觉自己又朝着初级程序员迈进了一步!!


我的微信公众号:“码农UP2U”

MyBatis-Generator 用法介绍的更多相关文章

  1. mybatis generator 用法

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

  2. eclipse mybatis Generator

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. Mybatis generator自动生成mybatis配置和类信息

    自动生成代码方式两种: 1.命令形式生成代码,详细讲解每一个配置参数. 2.Eclipse利用插件形式生成代码. 安装插件方式: eclipse插件安装地址:http://mybatis.google ...

  4. MyBatis Generator介绍

    MyBatis Generator介绍 MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和 ...

  5. mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍

    我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version=& ...

  6. Introduction to MyBatis Generator Mybatis代码生成介绍

    Mybatis官方提供了代码生成工具,这里是官方网站: http://mybatis.github.io/generator/index.html 可以自动生成 Java POJOs, Mapper. ...

  7. mybatis generator的用法

    1 自动生成代码 配置数据库 自动生成三个文件: 第一,java bean文件: 第二,java bean对应的dao文件,但是这里的dao只是一个接口: 第三,mybatis需要的Mapper文件: ...

  8. Mybatis generator生成工具简单介绍

    Mybatis generator  其主要的功能就是方便,快捷的创建好Dao,entry,xml 加快了开发速度,使用方面根据其提供的规则配置好就OK 这里还有一个重要的开发场景,开发过程中,对数据 ...

  9. MyBatis Generator 详解

    MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中 ...

  10. MyBatis Generator 详解 【转来纯为备忘】

    版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com   目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...

随机推荐

  1. EggJs快速入门

    Egg.js 简介 Egg.js 为企业级框架和应用而生,帮助开发团队和开发人员降低开发和维护成本. 专注于提供 Web 开发的核心功能和一套灵活可扩展的插件机制,不会做出技术选型,因为固定的技术选型 ...

  2. 09-Django静态文件

    1.静态文件 项目中的图片.CSS.js都是静态文件,一般会将静态文件放到一个单独的目录下,也方便管理.一般会将静态文件放到一个单独的目录下,也可以放在应用的目录下,由于静态文件是全部应用都在使用的, ...

  3. 帝国CMS系统目录结构介绍

    帝国CMS目录结构介绍 / 系统根目录├d/            附件和数据存放目录 (data)│├file/       附件存放目录│├js/         JS调用生成目录│└txt/   ...

  4. hibernate关联关系(多对多)

    数据库的多对多数据库中不能直接映射多对多 处理:创建一个桥接表(中间表),将一个多对多关系转换成两个一对多 注:数据库多表联接查询 永远就是二个表的联接查询 注2:交叉连接 注3:外连接:left(左 ...

  5. 用PHP写出计算器

    <body> <?php if (!empty($_POST)) { $op=$_POST['point']; $sum1 = $_POST['sum1']; $sum2 = $_P ...

  6. ts常用数据类型

    1.1 布尔值 let isTrue: boolean = false; console.log(isTrue); 1.2 数字 let age: number = 26; console.log(a ...

  7. 新手教程丨利用Python制作一款截图识别软件!

    进入正文前给大家推荐一个微软开发的工具:Snipaste. 这是一款截图软件,把截出的图片放置到窗口上,可以随意移动,使用非常方便,并且支持各类电脑系统. 先简单介绍一下它的用法,F1截图,Ctrl+ ...

  8. 企业账号发布APP

    做了一个公司内部人使用的项目,公司申请了企业开发者账号.现将企业开发者账号发布app的过成总结如下: 1.生成Certificate Signing Request (CSR)文件 2.2 请求Cer ...

  9. [b0040] python 归纳 (二五)_多进程数据共享和同步_信号量Semaphore

    # -*- coding: utf-8 -*- """ 多进程同步 使用信号量 multiprocessing.Semaphore 逻辑: 启动5个进程,打印,每个各自睡 ...

  10. [b0023] python 归纳 (九)_html解析-lxml

    # -*- coding: utf-8 -*- """ 学习lxml解析网页 程序功能: 解析 360影视 电影排行榜中的信息 https://www.360kan.co ...