利用MyBatis生成器自動生成實體類、DAO接口和Mapping映射文件


解決問題:

可利用MyBatis生成器自動生成實體類、DAO接口和Mapping映射文件。

測試環境准備:

新建一個mysql數據庫,例如mungerzTest。

生成一張主鍵為自增ID的學生表:

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar2(32) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 

1. 生成工具准備

可以在Maven倉庫中下載jar包,也可以在這里下載:http://u.163.com/vxeB85EN  提取碼: gy6VafDg。

2. 修改配置文件。修改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.0.4.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://192.168.43.167/mungerTest01" userId="root" password="Munger_123">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 生成模型的包名和位置-->  
        <javaModelGenerator targetPackage="com.mungerz.domain" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 生成映射文件的包名和位置-->  
        <sqlMapGenerator targetPackage="com.mungerz.mapping" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 生成DAO的包名和位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.mungerz.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名-->  
        <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>  
</generatorConfiguration>

注意:配置文件中的targetPackage屬性,必須和項目中的包名一一對應,不然,運行時會出錯。需要手動改生成的配置文件。如果數據庫里面的表很多,這將是災難

 

3.運行

在文件目錄中新創建一個文件src,對應配置文件中的targetProject屬性。

在命令行中,執行:

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

提示成功,就會在src生成實體類、DAO接口和Mapping映射文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM