前言:

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. ShadowMap渲染阴影方法及问题 【转】

    ShadowMap基于的原理:SM算法是一个2-pass绘制算法,第一pass从光源视点绘制场景,生成SM纹理,第2pass从视点视图按常规方法绘制场景 从光源的位置观察场景,这时候我们看不到的地方就 ...

  2. uva 11248 Frequency Hopping (最大流)

    uva 11248 Frequency Hopping 题目大意:给定一个有向网络,每条边均有一个容量. 问是否存在一个从点1到点N.流量为C的流.假设不存在,能否够恰好改动一条弧的容量,使得存在这种 ...

  3. 高速创建和mysql表相应的java domain实体类

    今天创建了一个表有十几个字段,创建完之后必定要写一个与之相应的java domain实体类. 这不是反复的工作吗?为什么不先把这个表的全部的字段查出来,然后放到linux环境下,用sed工具在每一行的 ...

  4. Maven - 下载JAR包

    进入Spring官网http://projects.spring.io/spring-framework/假设我们想下载Spring发现仅仅能 通过Maven或Cradle进行下载了. 以下以Spri ...

  5. linux之return和exit引发的大问题(vfork和fork)

    在coolshell.cn上看到的一个问题.为此拿来研究一下. 首先 看看return和exit的差别 在linux上分别跑一下这个代码 int main() { return 0; //exit(0 ...

  6. Ubuntu16.04下自定义命令

    每次启动pycharm的时候需要敲一段很长的文本,真的是感觉好麻烦啊,如果能直接敲命令启动就好了,既装B又实用的 那么到底应该怎么做呢?其实挺简单的 在文件/root/.bashrc 中添加下边的几行 ...

  7. Linux学习笔记——例说makefile 综合案例

    0.前言     从学习C语言開始就慢慢開始接触makefile,查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力.所以特意借 ...

  8. Apache/2.4.9启动错误:AH01630: client denied by server configuration

    在升级Yii框架1.11->2.0beta时,PHP升级到5.5.顺带升级Apache2.2.x到2.4.9. 把原有vhost配置移植过来,出现Apache启动错误: AH01630: cli ...

  9. ABAP OLE常用方法和属性

    转自 http://www.cnblogs.com/eric0701/p/5213694.htmlSAP EXCEL OLE常用方法和属性 附加网上找到的比较好的源代码示例一份 1.ole中如何保存和 ...

  10. Android Touch事件分发

    跟touch事件相关的3个方法: public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInt ...