本來打算安裝的是mybatis plugin最新版本(4.0.4)
但是安裝下來發現lib目錄中少mybatis_plugin.jar包
只有手動安裝了這里安裝的是2.9.2版本使用了一下不受影響
破解文件地址 提取碼:jbvu
file-->setting-->plugin
安裝完插件IDEA就會提示你重啟IDEA
重啟完畢咱們就來開始mybatis的逆向工程了:
創建generatorConfig.xml
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> <!--數據庫的配置文件--> <!--<properties resource="db.properties"></properties>--> <!-- !!!! Driver Class Path !!!! --> <!-- classPathEntry:數據庫的JDBC驅動的jar包地址--> <classPathEntry location="D:\apache-maven-3.5.4\conf\repository\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar"/> <!-- defaultModelType:**這個屬性很重要**,這個屬性定義了MBG如何生成**實體類**。這個屬性有以下可選值: conditional:*這是默認值*,這個模型和下面的hierarchical類似,除了如果那個單獨的類將只包含一個字段, 將不會生成一個單獨的類。 因此,如果一個表的主鍵只有一個字段,那么不會為該字段生成單獨的實體類, 會將該字段合並到基本實體類中。flat:該模型為每一張表只生成一個實體類。這個實體類包含表中的所有字段。 **這種模型最簡單,推薦使用。**hierarchical:如果表有主鍵,那么該模型會產生一個單獨的主鍵實體類, 如果表還有BLOB字段, 則會為表生成一個包含所有BLOB字段的單獨的實體類,然后為所有其他的字段生成一個 單獨的實體類。 MBG會在所有生成的實體類之間維護一個繼承關系。 --> <!--如果你希望不生成和Example查詢有關的內容,那么可以按照如下進行配置: targetRuntime="MyBatis3Simple"--> <context id="context" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <commentGenerator> <!--是否去除生成的自動注解(英文的) true是去除 false 不去除--> <property name="suppressAllComments" value="true"/> <!-- 是否去除自動生成的日期 true:是 : false:否 --> <property name="suppressDate" value="true"/> </commentGenerator> <!-- !!!! Database Configurations !!!! --> <!--數據庫的連接信息--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="xxxxxxxx"/> <!-- true:使用BigDecimal對應DECIMAL和 NUMERIC數據類型 false:默認, scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --> <!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把JDBC DECIMAL 和 NUMERIC 類型解析為java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- !!!! Model Configurations !!!! --> <!--生成POJO類的位置--> <javaModelGenerator targetPackage="com.shen.pojo" targetProject="src"> <!-- enableSubPackages:是否讓schema作為包的后綴 --> <property name="enableSubPackages" value="false"/> <!-- 從數據庫返回的值被清理前后的空格 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- !!!! Mapper XML Configurations !!!! --> <!--生成映射文件xml的位置--> <sqlMapGenerator targetPackage="com.shen.mapper" targetProject="src"> <!-- enableSubPackages:是否讓schema作為包的后綴 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- !!!! Mapper Interface Configurations !!!! --> <!--mapper.xml 接口生成的位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.shen.mapper" targetProject="THIS_CONFIGURATION_IS_NOT_REQUIRED" implementationPackage="true" > <!-- enableSubPackages:是否讓schema作為包的后綴 --> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- schema即為數據庫名, tableName為數據庫中的對應的數據庫表名或視圖名, domainObjectName是要生成的實體類名, 如果想要mapper配置文件加入sql的where條件查詢, 可以將enableCountByExample等設為true, 這樣就會生成一個對應domainObjectName的Example類, enableCountByExample等設為false時, 就不會生成對應的Example類了. table其他屬性: enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" 如果table里邊不配置property,默認字段都生成為類屬性。 <ignoreColumn column="FRED" />//忽略字段 <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//無論字段是什么類型,生成的類屬性都是varchar。 --> <!-- !!!! Table Configurations !!!! -->
<!--下面這個是生成該數據庫下的所有的數據表的-->
<table tableName="%" enableCountByExample="true" enableDeleteByExample="true" enableSelectByExample="true" enableUpdateByExample="true"/> <!--指定數據庫表--> </context> </generatorConfiguration>
不懂的盆友 可以留言 也可以加我QQ:2669256549 來幫你解答
如果有幫助可以給我留個言嗎?打破一下我沒有留言的尷尬