前言:

mybatis-generator是根据配置文件中我们配置的数据库连接参数自动连接到数据库并根据对应的数据库表自动的生成与之对应mapper映射(比如增删改查,选择性增删改查等等简单语句)文件、对应的dao接口文件以及对应的entity实体(bean)
问题解决:1、如果遇到“不能有前言”的错误,请将配置文件重新保存为UTF-8(不包含BOM)文字编码的文件

一、首先,我们需要引入所需要的jar包

1、mybatis-generator所需的jar包

mybatis-generator-core-1.3.5.jar (mybatis-generator-core的版本可以自行选择)

mybatis-generator下载地址:https://github.com/mybatis/generator/releases

2、数据库连接jar包

根据自己的需要选择数据库驱动

oracle的驱动:ojdbc6.jar

mysql驱动:mysql-connector-java.jar

postgre驱动:postgresql-9.3-1102.jdbc4.jar

使用postgre进行举例

二、Mybatis-Generator配置文件详解

1、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>
<!--这里写配置-->
</generatorConfiguration>

2、指定数据库驱动包位置

以ojdbc6.jar为例,支持zip和jar两种文件格式
<!-- 指定数据连接驱动jar地址 -->
<!-- 	<classPathEntry location="${classPath}" /> -->
	<classPathEntry location="D:\Repository\Publish\ojdbc6.jar" />

3、数据库连接参数和自动生成参数配置

一个完整的配置实例:
<?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>
	<!-- 指定数据连接驱动jar地址 -->
	<classPathEntry location="E:\mybatis-generator\postgresql-9.3-1102.jdbc4.jar" />
	<context id="SqlTables" targetRuntime="MyBatis3">
		<!-- 注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
			<property name="suppressDate" value="true" /><!-- 是否生成注释代时间戳 -->
		</commentGenerator>

        <jdbcConnection driverClass="org.postgresql.Driver" connectionURL="jdbc:postgresql://127.0.0.1:5432/JS_VNMP5.1" userId="postgres" password="123456" />  

        <!-- 类型转换 -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>  

        <!-- 生成实体类地址 -->
        <javaModelGenerator targetPackage="cc.eguid.entity"
            targetProject="E:\mybatis-generator\src\main\java" >
            <property name="enableSubPackages" value="false"/>
	<!--设置父类 <property name="rootClass" value="cc.eguid.entity.baseEntity"/> -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成mapxml文件 -->
        <sqlMapGenerator targetPackage="cc.eguid.dao"
            targetProject="E:\mybatis-generator\src\main\java" >
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
		<property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>  

        <!-- 生成mapxml对应client,也就是接口dao -->
        <javaClientGenerator targetPackage="cc.eguid.dao"
            targetProject="E:\mybatis-generator\src\main\java" type="XMLMAPPER" >
            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
			<property name="enableSubPackages" value="false"/>
        </javaClientGenerator>  

		<!-- 用户权限表 -->
		<table tableName="eguid_userrole" domainObjectName="Userrole" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
	</context>
</generatorConfiguration>


三、通过命令行运行

1、执行命令(generatorConfig.xml为配置文件)
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite

2、建议在mybatis-generator-core-1.3.5.jar所在文件夹下新建一个xxx.bat文件,里面放入上面的命令,就可以方便自动生成
完成上述操作后,执行xxx.bat文件即可在对应文件夹中生成三个文件,xxxmapper.xml,xxxmapper.java,xxx.java
注意:请务必保证要生成的路径已经存在,否则会执行失败

3、一个完整的xxx.bat执行文件

@echo off
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
pause

四、使用总结

1、引入mybatis-generator的jar包和数据库驱动jar包
2、配置mybatis-generator的配置文件

2.1、指定数据库驱动jar包的位置和数据库连接配置

2.2、配置实体类生成器(javaModelGenerator),可以通过配置rootClass属性为实体类指定继承的父类

2.3、配置SQL映射文件生成器(sqlMapGenerator)

2.4、配置dao层接口生成器(javaClientGenerator)
3、使用命令行执行mybatis-generator即可生成

简单三步快速学会使用Mybatis-Generator自动生成entity实体、dao接口以及mapper映射文件(postgre使用实例)的更多相关文章

  1. 使用Mybatis Generator自动生成Mybatis相关代码

    本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...

  2. 使用MyBatis Generator自动生成MyBatis的代码

    这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生 ...

  3. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    原文链接 我们这一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池 ...

  4. IDEA Maven Mybatis generator 自动生成代码

    IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...

  5. IDEA Maven Mybatis generator 自动生成代码(实例讲解)(转)

    IDEA Maven Mybatis generator 自动生成代码(实例讲解) MyBatis Generator • 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的 ...

  6. SpringBoot 添加mybatis generator 自动生成代码插件

    自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...

  7. idea中mybatis generator自动生成代码配置 数据库是sqlserver

    好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...

  8. 【Mybatis】使用Mybatis-Generator自动生成entity、dao、mapping

    使用过mybatis的应该都有用过Mybatis-Generator,本文主要介绍使用Mybatis-Generator来自动生成entity.dao.mapping文件. Mybatis-Gener ...

  9. IDEA使用mybatis generator自动生成代码

    主要就三步: 1.pom 文件中引入jar包并配置 build 属性 <dependencies> <!-- 自动生产mapper Begin! --> <depende ...

随机推荐

  1. MFC office2007风格设置左侧导航栏 [转]

    当基础的框架搭好以后,我想为其添加一个左侧导航栏,过程如下:在框架类的头文件添加一个导航栏参数: CMFCOutlookBar m_navigation; 为了完善功能,在导航栏里面我添加了一个CTr ...

  2. Hive UDF开发-简介

    Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以. Hive的UDF开发只需要重构UDF类的evaluate函数即可.例 ...

  3. Chrome内核保存为mhtml(单网页)

    在地址栏输入:chrome://flags  回车 然后Ctrl+f查找mhtml Tips: 如果网页图片看不太清可以CTRL+鼠标滚轮放大网页 如果系统原因以及其它因素可以下载:QQ浏览器(默认保 ...

  4. ZOJ 3626 Treasure Hunt I(树形dp)

    Treasure Hunt I Time Limit: 2 Seconds      Memory Limit: 65536 KB Akiba is a dangerous country since ...

  5. vue2.0 + vux (三)MySettings 页

    1.MySettings.vue <!-- 我的设置 --> <template> <div> <img class="img_1" sr ...

  6. leetCode(40):Path Sum

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...

  7. div和img之间的缝隙问题

    这次做的项目,客户说.banner图的上下之间不要留有空隙,细致一看才发现,上下居然都有空隙.审查元素,发现全部的div,img的padding和margin都是0,对于这个间隙到底是假设产生的真的是 ...

  8. bzoj1458 士兵占据

    1458: 士兵占据 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 685  Solved: 398 [Submit][Status][id=1458 ...

  9. Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释

    本文概述: 至眼下为止.HLS 是移动平台上很重要并十分流行的流媒体传输协议.做移动平台的流媒体开发,不知道它不掌握它 .真是一大遗憾.而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋友 ...

  10. RabbitMQ 内存和磁盘警告

    内存和磁盘警告 有两种情况下,Rabbit MQ会停止读取客户端的连接socket,为了防止crash崩溃,这两种情况是: 内存使用达到配置值 磁盘空间下降到配置值下 在这两种情况下,服务器会临时阻塞 ...