詳解在IDEA中使用MyBatis Generator逆向工程生成代碼
本文介紹一下用Maven工具如何生成Mybatis的代碼及映射的文件。
一、配置Maven pom.xml 文件
在pom.xml增加以下插件:
<build> <finalName>zsxt</finalName> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build>
配置好Maven插件,下面需要配置插件需要配置文件
二、在maven項(xiàng)目下的src/main/resources 目錄下建立名為Maven的項(xiàng)目配置文件存放路徑如下圖:generatorConfig.xml和generator.properties配置文件,
Maven的項(xiàng)目配置文件存放路徑如下圖:
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> <!--導(dǎo)入屬性配置--> <properties resource="generator.properties"></properties> <!--指定特定數(shù)據(jù)庫的jdbc驅(qū)動(dòng)jar包的位置--> <classPathEntry location="${jdbc.driverLocation}"/> <context id="default" targetRuntime="MyBatis3"> <!-- optional,旨在創(chuàng)建class時(shí),對(duì)注釋進(jìn)行控制 --> <commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的數(shù)據(jù)庫連接 --> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection> <!-- 非必需,類型處理器,在數(shù)據(jù)庫類型和java類型之間的轉(zhuǎn)換控制--> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類 targetPackage 指定生成的model生成所在的包名 targetProject 指定在該項(xiàng)目下所在的路徑 --> <javaModelGenerator targetPackage="com.slx.zsxt.model" targetProject="src/main/java"> <!-- 是否允許子包,即targetPackage.schemaName.tableName --> <property name="enableSubPackages" value="false"/> <!-- 是否對(duì)model添加 構(gòu)造函數(shù) --> <property name="constructorBased" value="true"/> <!-- 是否對(duì)類CHAR類型的列的數(shù)據(jù)進(jìn)行trim操作 --> <property name="trimStrings" value="true"/> <!-- 建立的Model對(duì)象是否 不可改變 即生成的Model對(duì)象不會(huì)有 setter方法,只有構(gòu)造方法 --> <property name="immutable" value="false"/> </javaModelGenerator> <!--Mapper映射文件生成所在的目錄 為每一個(gè)數(shù)據(jù)庫的表生成對(duì)應(yīng)的SqlMap文件 --> <sqlMapGenerator targetPackage="com.slx.zsxt.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- 客戶端代碼,生成易于使用的針對(duì)Model對(duì)象和XML配置文件 的代碼 type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper對(duì)象 type="MIXEDMAPPER",生成基于注解的Java Model 和相應(yīng)的Mapper對(duì)象 type="XMLMAPPER",生成SQLMap XML文件和獨(dú)立的Mapper接口 --> <javaClientGenerator targetPackage="com.slx.zsxt.dao" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <table tableName="reguser" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <table tableName="adminuser" domainObjectName="Admin" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <table tableName="configinfo" domainObjectName="Confinfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <table tableName="grade" domainObjectName="Grade" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <table tableName="gradelog" domainObjectName="Gradelog" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <table tableName="reginfo" domainObjectName="Reginfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
generator.propertites代碼如下:
jdbc.driverLocation=E:\\mvn_home\\mysql\\mysql-connector-java\\5.1.20\\mysql-connector-java-5.1.20.jar jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql:///zsxt jdbc.userId=root jdbc.password=123456
三、在Intellij IDEA添加一個(gè)“Run運(yùn)行”選項(xiàng),使用maven運(yùn)行mybatis-generator-maven-plugin插件
點(diǎn)擊 菜單run中Edit Configurations,會(huì)出現(xiàn)
點(diǎn)擊+號(hào),選擇maven,會(huì)出現(xiàn)
在name和Commond line分別填上如上圖所示,apply和ok
最后點(diǎn)擊generator,生成model,mapper,dao
逆向工程生成結(jié)果如下:
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaSwing GridLayout 網(wǎng)格布局的實(shí)現(xiàn)代碼
這篇文章主要介紹了JavaSwing GridLayout 網(wǎng)格布局的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12springboot2.x只需兩步快速整合log4j2的方法
這篇文章主要介紹了springboot2.x只需兩步快速整合log4j2的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05數(shù)組與List之間相互轉(zhuǎn)換的方法詳解
本文是對(duì)數(shù)組與List之間相互轉(zhuǎn)換的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下。希望對(duì)大家有所幫助2013-10-10struts1實(shí)現(xiàn)簡單的登錄功能實(shí)例(附源碼)
本篇文章主要介紹了struts1實(shí)現(xiàn)簡單的登錄功能實(shí)例(附源碼),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04