Intellij Idea中進(jìn)行Mybatis逆向工程的實(shí)現(xiàn)
開(kāi)篇
Mybatis有個(gè)實(shí)用的功能就是逆向工程,能根據(jù)表結(jié)構(gòu)反向生成實(shí)體類,這樣能避免手工生成出錯(cuò)。市面上的教程大多都很老了,大部分都是針對(duì)mysql5的,以下為我執(zhí)行mysql8時(shí)的經(jīng)驗(yàn)。
引入工程
這里使用的是maven包管理工具,在pom.xml添加以下配置,以引入mybatis.generator
<build> <finalName>SpringMVCBasic</finalName> <!-- 添加mybatis-generator-maven-plugin插件 --> <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項(xiàng)目下的src/main/resources 目錄下新建generatorConfig.xml和generator.properties文件
generator.properties
jdbc.driverLocation=F:\\maven-repository\\mysql\\mysql-connector-java\\8.0.16\\mysql-connector-java-8.0.16.jar jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.connectionURL=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8 jdbc.userId=test jdbc.password=test123
注意:
1,generator.properties里面的jdbc.driverLocation指向是你本地maven庫(kù)對(duì)應(yīng)mysql-connector地址
2,與老版本不同,這里driversClass為com.mysql.cj.jdbc.Driver
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ù)庫(kù)的jdbc驅(qū)動(dòng)jar包的位置(絕對(duì)路徑)--> <classPathEntry location="${jdbc.driverLocation}"/> <context id="default" targetRuntime="MyBatis3"> <!-- optional,旨在創(chuàng)建class時(shí),對(duì)注釋進(jìn)行控制 --> <commentGenerator> <!--是否去掉自動(dòng)生成的注釋 true:是--> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的數(shù)據(jù)庫(kù)連接:驅(qū)動(dòng)類、鏈接地址、用戶名、密碼--> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection> <!-- 非必需,類型處理器,在數(shù)據(jù)庫(kù)類型和java類型之間的轉(zhuǎn)換控制--> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- Model模型生成器,用來(lái)生成含有主鍵key的類,記錄類 以及查詢Example類 targetPackage 指定生成的model生成所在的包名 targetProject 指定在該項(xiàng)目下所在的路徑 --> <javaModelGenerator targetPackage="com.ifly.outsourcing.entity" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--Mapper映射文件生成所在的目錄 為每一個(gè)數(shù)據(jù)庫(kù)的表生成對(duì)應(yīng)的SqlMap文件 --> <sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources"> <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 type="XMLMAPPER" targetPackage="com.ifly.outsourcing.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 數(shù)據(jù)表進(jìn)行生成操作 tableName:表名; domainObjectName:對(duì)應(yīng)的DO --> <table tableName="user" domainObjectName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
注意:這里主要注意修改對(duì)應(yīng)的javaModelGenerator ,sqlMapGenerator,javaClientGenerator 為自己的生成路徑。以及添加自己的數(shù)據(jù)表。
在Intellij IDEA添加一個(gè)“Run運(yùn)行”選項(xiàng)
點(diǎn)擊菜單欄的run,新建一個(gè)選項(xiàng)為maven的configurations,name為自己方便看,比如generator,commnd line注意寫(xiě)為:
mybatis-generator:generate -e
點(diǎn)擊run即可生成對(duì)應(yīng)文件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot(五)之跨域、自定義查詢及分頁(yè)
這篇文章主要介紹了Spring Boot(五)之跨域、自定義查詢及分頁(yè)的的相關(guān)資料,需要的朋友可以參考下2017-04-04idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法
這篇文章主要介紹了idea項(xiàng)目文件夾橫向顯示,縱向顯示的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08SpringBoot項(xiàng)目啟動(dòng)報(bào)錯(cuò)踩坑實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目啟動(dòng)報(bào)錯(cuò)踩坑的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-02-02Mybatis-Plus實(shí)現(xiàn)自動(dòng)生成代碼的操作步驟
AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過(guò) AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個(gè)模塊的代碼,極大的提升了開(kāi)發(fā)效率,本文將給大家介紹Mybatis-Plus實(shí)現(xiàn)自動(dòng)生成代碼的操作步驟2023-10-10Java聊天室之實(shí)現(xiàn)接收和發(fā)送Socket
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)接收和發(fā)送Socket功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10基于Jenkins自動(dòng)打包并部署docker環(huán)境的操作過(guò)程
這篇文章主要介紹了基于Jenkins自動(dòng)打包并部署docker環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08Java利用策略模式實(shí)現(xiàn)條件判斷,告別if else
策略模式定義了一系列算法,并且將每個(gè)算法封裝起來(lái),使得他們可以相互替換,而且算法的變化不會(huì)影響使用算法的客戶端。本文將通過(guò)案例講解如何利用Java的策略模式實(shí)現(xiàn)條件判斷,告別if----else條件硬編碼,需要的可以參考一下2022-02-02SpringBoot中API接口參數(shù)獲取方式小結(jié)
在Spring Boot中,API接口參數(shù)可以通過(guò)多種方式獲取,具體取決于你定義的API接口參數(shù)類型(如路徑參數(shù)、查詢參數(shù)、請(qǐng)求體參數(shù)、請(qǐng)求頭等),本文給大家就介紹了一些常見(jiàn)的參數(shù)獲取方式,需要的朋友可以參考下2024-06-06