利用mybatis generator插件反向生成Dao、Mapper.xml、pojo(通過maven)


直接進入主題,由於項目選擇的利用maven構建,所以選擇了利用maven的生成方式。(還有一種可自行百度)

一、在pom.xml中添加插件

            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <!--配置文件的位置-->
                    <configurationFile>src/main/resources/Personal-GeneratorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
              </plugin>

二、配置xml文件

該xml文件主要是利用已經存在的數據庫表,通過配置,來使數據庫表的信息和pojo、Mapper.xml、Dao產生聯系

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  "http://mybatis.apache.org/dtd/mybatis-generator-config_1_0.dtd">  
<generatorConfiguration>
  <!-- 數據庫配置信息,用項目的jdbc.properties來引入本xml--> <properties resource="jdbc.properties"></properties> <!-- 數據庫驅動包,使用絕對路徑 在這里我使用的是跟我項目依賴版本一致的mysql驅動--> <classPathEntry location="D:\maven\localRpertory\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar" /> <!-- 環境配置 **************************************************
    id="自定義的配置名稱" targetRuntime="MyBatis版本"
--> <context id="ssm-context" targetRuntime="MyBatis3"> <commentGenerator> <!-- 去除自動生成的注釋 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- 數據庫連接配置 --> <!-- 數據庫 ===============================================
      driverClass="驅動" connectionURL="數據庫url" userId="用戶" password="密碼"
      ======================================================
--> <jdbcConnection driverClass="${driver}" connectionURL="${url}" userId="${username}" password="${password}" /> <!--jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="mysql" / --> <!-- Java數據類型分離器,數據類型轉換 ===================== property 屬性 name="強迫雙精度" value="不" 非必須選項 ================================================ --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- Java模型生成器 ======================================= targetPackage="生成文件的目標路徑" targetProject="已存在的項目包" enableSubPackages-可以省略對應約束名,true-是的,可以省略tb_generator trimString-驗證字符串,true-是的 ================================--> <javaModelGenerator targetPackage="com.my.traffic.domain" targetProject="src/main/java" /> <!-- sql映射文件生成器 ======================================= targetPackage="生成文件的目標路徑" targetProject="已存在的項目包" enableSubPackages-可以省略對應約束名,true-是的, 可以省略tb_generator ============================================--> <sqlMapGenerator targetPackage="com.my.traffic.mapping" targetProject="src/main/java" /> <!-- java委托對象DAO生成器,接口 ============================= 這里為了更加靈活,我沒有選擇生成Dao接口,如果需要生成可以把下面的配置取消注釋 type="" targetPackage="生成文件的目標路徑" targetProject="已存在的項目包" enableSubPackages-可以省略對應約束名,true-是的,可以省略tb_generator --> <!-- <javaClientGenerator type="XMLMAPPER" targetPackage="cn.xt.dao" targetProject="MyBatisGenerate"> <property name="enableSubPackages" value="false" /> </javaClientGenerator> --> <!-- 數據庫表,已存在,根據此表生成其它文件 ======================= tableName="已有的表單名稱" domainObjetctName="對應生成的文件名前綴" (即我的表名為pass_vehivle_info,這樣配置我生成的pojo名為PassVehicleInfo,生成的xml為PassVehicleInfoMapper.xml) ============================================--> <!-- 呼叫日志表 --> <table tableName="pass_vehicle_info" domainObjectName="PassVehicleInfo"> <!-- useActualColumnNames-是否使用真實列名 , 如果false,則由columnOverride節點控制 ,遵循駝峰命名的方式--> <property name="useActualColumnNames" value="flase"/> <!-- 標識列 column="列名" sqlStatement="某種數據庫語言" identity="作為主鍵" --> <generatedKey column="pass_id" sqlStatement="MySql" identity="true" /> </table> </context> </generatorConfiguration>

三、運行generator插件

運行方法:在eclipse 中,選擇pom.xml文件,擊右鍵先擇Run AS——>Maven Build… ——>在Goals框中輸入:mybatis-generator:generate  運行即可

這樣,相關的文件就會生成在配置的路徑下,如果需要的話,可以進行自行刪減、改名,很方便


免責聲明!

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



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