zoukankan      html  css  js  c++  java
  • MyBatis之七:使用generator工具

      可以将mybatis理解成一种半自动化orm框架,通过注解或者配置xml映射文件来手写相关sql语句,不能像我之前介绍orm的文章那样全对象化操作数据库增删改查。其实你会发现,手写配置xml映射文件是件很痛苦的事情,正因为如此,mybatis提供出了一个generator工具,只需要配置数据库连接字符串、对应数据库的驱动包,再执行固定格式的命令行语句即可轻松完事。generator的下载地址在:http://code.google.com/p/mybatis/wiki/Downloads?tm=2,需要翻墙下载,这里会在文章结尾提供generator文件下载。

      一、generator文件解压之后基本结构如图:

      

      1、src文件夹是存放生成之后的dao、mapping、model文件

      2、generator.xml 是配置文件

        3、mybatis-generator-core-1.3.2.jar 是依赖的jar包

      4、生成语句 是固定格式的命令行语句

      二、配置generator.xml

      需要修改的节点如下:

      1、classPathEntry 数据库驱动包位置,物理绝对路径

      2、contextjdbcConnection 数据库链接URL、用户名、密码 

      3、contextjavaModelGenerator 的targetProject属性,指向generator.xml所在文件夹下面的src文件夹,该节点表示生成模型的包名和位置

      4、contextsqlMapGenerator 的targetProject属性,指向generator.xml所在文件夹下面的src文件夹,该节点表示生成的映射文件包名和位置

      5、contextjavaClientGenerator  的targetProject属性,指向generator.xml所在文件夹下面的src文件夹,该节点表示生成DAO的包名和位置

      6、context able 的tableName与domainObjectName属性,具体对应数据库的表名与生成实体代码的名称。多个表就多个context able节点

      示例文件:

    <?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:94_JavaWorkbench_MavenRepositorycommicrosoftsqlserversqljdbc44.0sqljdbc4-4.0.jar" />
        <context id="MyBatis3Generator" targetRuntime="MyBatis3">
            <commentGenerator>
                <property name="suppressAllComments" value="true" />
            </commentGenerator>
            <!-- 数据库链接URL、用户名、密码 -->
            <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://localhost:1433;databaseName=Northwind" userId="sa" password="">
            </jdbcConnection>
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver>
            <!-- 生成模型的包名和位置 -->
            <javaModelGenerator targetPackage="Northwind.model" targetProject="D:94_JavaWorkbench_MyBatis_Generatorsrc">
                <property name="enableSubPackages" value="true" />
                <property name="trimStrings" value="true" />
            </javaModelGenerator>
            <!-- 生成的映射文件包名和位置 -->
            <sqlMapGenerator targetPackage="Northwind.mapping" targetProject="D:94_JavaWorkbench_MyBatis_Generatorsrc">
                <property name="enableSubPackages" value="true" />
            </sqlMapGenerator>
            <!-- 生成DAO的包名和位置 -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="Northwind.dao" targetProject="D:94_JavaWorkbench_MyBatis_Generatorsrc">
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
            <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
            <table tableName="Categories" domainObjectName="Categories" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
            <table tableName="Customers" domainObjectName="Customers" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
            
        </context>
    </generatorConfiguration>

      

      三、生成相关文件

      在当前文件夹下面进入dos,两种方法(d:cd不做介绍),如下

      1、路径框输入cmd

      

      2、当前文件夹下 按下shift键 鼠标右键进入dos

      

      

      出现dos窗口后再里面输入命令:java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

      

      四、在src文件夹里面查看已生成的文件,可以拷贝到项目里面。

        附generator文件下载:http://files.cnblogs.com/files/wucj/Generator.rar

  • 相关阅读:
    Spring 中出现Element : property Bean definitions can have zero or more properties. Property elements correspond to JavaBean setter methods exposed by the bean classes. Spring supports primitives, refer
    java定时器schedule和scheduleAtFixedRate区别
    hql语句中的select字句和from 字句
    使用maven搭建hibernate的pom文件配置
    Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from http://repo.maven.apache.org/ maven2 was cached in the local repository, resolution will not be reattempted until the update interv
    对于文件File类型中的目录分隔符
    hibernate的事务管理和session对象的详解
    解决mac 中的myeclipse控制台中文乱码问题
    ibatis selectKey用法问题
    Java中getResourceAsStream的用法
  • 原文地址:https://www.cnblogs.com/wucj/p/5162206.html
Copyright © 2011-2022 走看看