首页 > 其他 > 详细

Mybatis generator

时间:2015-10-06 22:22:38      阅读:420      评论:0      收藏:0      [点我收藏+]

    mybatis-generator-core-1.3.2下载链接:https://github.com/mybatis/generator/releases

1、解压后截图

技术分享

如上图所示,其lib目录下包含三个jar包。

2、添加mysql驱动jar包

在此,我使用的是mysql-connector-java-5.1.36-bin.jar,直接将该jar包拷到lib,目录下

3、配置文件

    此处需要自己新建一个xml文件,文件名随意取,在此命名为generatorConfig.xml,以此作为配置文件。

注:targetPackage是需要自己在lib目录下新建的路径。

<?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.36-bin.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/test" userId="root" password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="test.model" targetProject="src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="test.mapping" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成哪些表-->
<table tableName="word_definition" domainObjectName="WordsEntity" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

4、生成语句

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

5、执行结果

技术分享

如上图所示,表示生成成功。

技术分享

6、xml配置详解

6.1、配置文件头

<?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">

6.2、根节点<generatorConfiguration>

根节点没有任何属性

包含以下子元素(有严格的顺序):

  • <properties>  (0个或1个)

  • <classPathEntry>  (0个或多个)

  • <context>  (1个或多个)

6.2.1、properties元素

    这个元素用来指定外部的属性元素,不是必须的元素。

    元素用于指定一个需要在配置中解析使用的外部属性文件,引入属性文件后,可以在配置中使用 ${property}这种形式的引用,通过这种方式引用属性文件中的属性值。 对于后面需要配置的**jdbc信息**和targetProject属性会很有用。

    这个属性可以通过resource或者url来指定属性文件的位置,这两个属性只能使用其中一个来指定,同时出现会报错。

  • resource:指定**classpath**下的属性文件,使用类似com/myproject/generatorConfig.properties这样的属性值。

  • url:可以指定文件系统上的特定位置,例如file:///C:/myfolder/generatorConfig.properties

6.2.3、classPathEntry元素

    这个元素可以0或多个,不受限制。

    最常见的用法是通过这个属性指定驱动的路径,例如:

<classPathEntry location="mysql-connector-java-5.1.36-bin.jar"/>

注意,classPathEntry只在下面这两种情况下才有效:

  • 当加载 JDBC 驱动内省数据库时

  • 当加载根类中的 JavaModelGenerator 检查重写的方法时

6.2.4、context元素

    至少需要一个<context>元素

    <context>元素用于指定生成一组对象的环境。例如指定要连接的数据库,要生成对象的类型和要处理的数据库中的表。运行MBG的时候还可以指定要运行的<context>。

    该元素只有一个**必选属性**id,用来唯一确定一个<context>元素,该id属性可以在运行MBG的使用。

此外还有几个**可选属性**:

  • defaultModelType:**这个属性很重要**,这个属性定义了MBG如何生成**实体类**。
    这个属性有以下可选值:

    • conditional:*这是默认值*,这个模型和下面的hierarchical类似,除了如果那个单独的类将只包含一个字段,将不会生成一个单独的类。 因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,会将该字段合并到基本实体类中。

    • flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。**这种模型最简单,推荐使用。**

    • hierarchical:如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段, 则会为表生成一个包含所有BLOB字段的单独的实体类,然后为所有其他的字段生成一个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。

  • targetRuntime:此属性用于指定生成的代码的运行时环境。该属性支持以下可选值:

    • MyBatis3:*这是默认值*

    • MyBatis3Simple

    • Ibatis2Java2

    • Ibatis2Java5 一般情况下使用默认值即可,有关这些值的具体作用以及区别请查看中文文档的详细内容。

  • introspectedColumnImpl:该参数可以指定扩展org.mybatis.generator.api.IntrospectedColumn该类的实现类。

一般情况下,我们使用如下的配置即可:

<context id="Mysql" defaultModelType="flat">

如果你希望不生成和 Example 查询有关的内容,那么可以按照如下进行配置:

<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

6.2.5、context子元素

MBG配置中的其他几个元素,基本上都是<context>的子元素,这些子元素(有严格的配置顺序)包括:

  • <property> (0个或多个)

  • <plugin> (0个或多个)

  • <commentGenerator> (0个或1个)

  • <jdbcConnection> (1个)

  • <javaTypeResolver> (0个或1个)

  • <javaModelGenerator> (1个)

  • <sqlMapGenerator> (0个或1个)

  • <javaClientGenerator> (0个或1个)

  • <table> (1个或多个)


具体参考:http://blog.csdn.net/isea533/article/details/42102297


Mybatis generator

原文:http://my.oschina.net/u/1020238/blog/513813

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!