使用MyBatis Generator自动创建代码

来源:互联网 发布:java interface 调用 编辑:程序博客网 时间:2024/06/05 02:25

  由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。

  使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面。

这里写图片描述

  在一个文件夹(如mybatis-generator)里建一个空的src文件夹,然后把xml配置文件和jar包也放在这个文件夹(mybatis-generator)中,如上图所示 源码下载

  其中有mybatis框架的jar包,数据库驱动程序jar包以及MyBatis生成器jar包。其中的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>    <!-- 数据库驱动-->        <classPathEntry  location="mysql-connector-java-5.1.25-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:///generator" userId="root" password="root">            </jdbcConnection>            <javaTypeResolver>                <property name="forceBigDecimals" value="false"/>            </javaTypeResolver>            <!-- 生成实体类的包名和位置-->            <javaModelGenerator targetPackage="generator.entity" targetProject="src">                <property name="enableSubPackages" value="true"/>                <property name="trimStrings" value="true"/>            </javaModelGenerator>            <!-- 生成映射文件的包名和位置-->            <sqlMapGenerator targetPackage="generator.mapping" targetProject="src">                <property name="enableSubPackages" value="true"/>            </sqlMapGenerator>            <!-- 生成DAO的包名和位置-->            <javaClientGenerator type="XMLMAPPER" targetPackage="generator.IDao" targetProject="src">                <property name="enableSubPackages" value="true"/>            </javaClientGenerator>            <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->            <table tableName="tb_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>        <table tableName="tb_book" domainObjectName="Book" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>      </context>    </generatorConfiguration>    

  完成配置后,打开控制台,进入mybatis-generator目录下,执行脚本:

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

这里写图片描述

  执行成功后,就可以在src目录下找到相应的文件夹,每个表格都会对应三个文件(实体类、接口、配置文件)。

   在运行如果遇到错误:XML Parser Error on line 1: 前言中不允许有内容。应该是编码格式问题。把XML文件的格式用记事本另存为ANSI就可以了。

原创粉丝点击