zoukankan      html  css  js  c++  java
  • mybatis generator

    MyBatis Generator(简称MBG)是MyBatis的代码生成器

    设计目标:

    MBG用于内省数据库表,并将其生成可用于访问表的工件。MBG旨在对CRUD数据库操作进行自动化配置。MBG用来生成简单的实体类、映射文件。连接查询或存储过程等复杂操作还需要手动编写。

    运行过程:

    1.解析配置文件:generatorConfig.xml

    2.连接数据库,获取表结构等信息

    3.根据配置文件,将每个表对应的实体类、配置文件等自动生成到项目固定位置

    运行方式:

    可以以ANT、命令行、MAVEN等方式进行配置运行

    本文以Maven运行方式进行配置。

    MBG包含了一个用于集成到maven构建中的Maven插件(在maven项目的pom.xml文件中设置):

            <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.5</version>
                    <configuration>
                        <!--配置文件路径-->
                        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                    <executions>
                        <execution>
                            <id>Generate MyBatis Artifacts</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

    插件包含一个目标:

    • mybatis-generator:generate

    可以通过命令执行目标:

    • mvn mybatis-generator:generate

    generatorConfig.xml文件配置

    执行generate构建目标的时候,首先会扫描:src/main/resources/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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包。因为MBG生成器需要首先连接并解析数据库表结构-->
    <classPathEntry location="C:Userssh.m2 epositorycommicrosoftsqlservermssql-jdbc6.1.0.jre7mssql-jdbc-6.1.0.jre7.jar"/>
    <!-- 上下文环境。 id:唯一标识、值会用于一些错误信息的提示。targetRuntime:mybatis版本代码(默认为:MyBatis3)-->
    <context id="mssql2014Tables" targetRuntime="MyBatis3">
    <commentGenerator>
    <!-- 是否在注释中生成时间戳 true:是 : false:否 -->
    <property name="suppressDate" value="true"/>
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <property name="suppressAllComments" value="true"/>
    </commentGenerator>
    <!--数据库链接URL,用户名、密码 -->
    <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://172.16.0.218DEPSERVER;databaseName=DEP_218" userId="sa" password="dep@2014">
    </jdbcConnection>
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>
    <!-- 生成模型的包名和位置 targetPackage:指定模型类的生成位置(即包名) targetProject:指定目标位置-->
    <javaModelGenerator targetPackage="com.winning.spd.manager.model.surgery" targetProject="srcmainjava">
    <property name="enableSubPackages" value="true"/>
    <property name="trimStrings" value="true"/>
    </javaModelGenerator>
    <!-- 生成映射文件的包名和位置 targetPackage:指定 targetProject:指定目标位置-->
    <!-- sqlMapGenerator 为每个内省表构建一个MyBatis / iBATIS格式的SQL映射XML文件
           如果iBATIS2被定向,则该元素是<context>元素的必需子元素。
    如果MyBatis3被定向,那么只有当您选择的javaClientGenerator需要XML时,该元素才是<context>元素的必需子元素。
    如果不指定javaClientGenerator,则应用以下规则:
    如果您指定了sqlMapGenerator,那么MBG将仅生成SQL映射XML文件和模型类。
    如果不指定sqlMapGenerator,那么MBG将仅生成模型类。 -->
    <sqlMapGenerator targetPackage="main.resources.mapper.mssql" targetProject="src">
    <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>
    <!-- 定义客户端生成器属性。对于ibatis2,生成对象采用Dao接口和实现类。对于MyBatis,生成的对象采用映射器接口的形式 -->
    <!-- type="XMLMAPPER" 表示:生成的对象将是MyBatis 3.x映射程序基础结构的Java接口。接口将依赖于生成的XML映射器文件。-->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.winning.spd.manager.mapper" targetProject="srcmainjava">
    <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>
    <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
    <table tableName="Order_Surgery" domainObjectName="Surgery" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
    <property name="useActualColumnNames" value="true" />
    </table>
    </context>
    </generatorConfiguration>

    执行MBG,生成配置文件

    执行 mvn mybatis-generator:generate 命令,若构建无误,则可以顺利生成模型类、映射接口和SQL映射XML文件

  • 相关阅读:
    Tomcat server.xml中配置的connectionTimeout参数无效?客户端等待超时时间
    org.joda.time.datetime.plusMonths 添加月数,缺少天数。
    微信小程序苹果手机请求地址 报错404,安卓可以正常请求
    在Ubuntu 18.04 Desktop图形中配置静态和动态IP
    Ubuntu16.04设置静态IP或动态ip(DHCP)
    linux监控命令
    lsof命令详解
    通过程序名称kill掉所有的进程
    linux目录和Windows目录对比
    Linux系统下查找安装包所在目录
  • 原文地址:https://www.cnblogs.com/ahguSH/p/7649885.html
Copyright © 2011-2022 走看看