IDEA Maven Mybatis generator 自動(dòng)生成代碼(實(shí)例講解)
IDEA Maven Mybatis generator 自動(dòng)生成代碼的實(shí)例講解
安裝過程步驟可以看上面的博文,里面介紹得很詳細(xì)。
二、建數(shù)據(jù)表
DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` varchar(100) NOT NULL, `username` varchar(20) DEFAULT NULL, `password` varchar(20) DEFAULT NULL, `headerPic` varchar(60) DEFAULT NULL, `email` varchar(60) DEFAULT NULL, `sex` varchar(2) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `is_delete` int(1) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, `telephone` varchar(15) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
三、Idea創(chuàng)建maven項(xiàng)目
1、點(diǎn)擊create new project-》maven-》create from archetype->maven-archetype-webapp,然點(diǎn)擊next,步驟如圖:
2、填寫groupId和ArtifactId:(這兩個(gè)參數(shù)值都是自己定義的),下面這段文字,是網(wǎng)上抄來的,以便大家更好地了解這兩個(gè)參數(shù)。
groupid和artifactId被統(tǒng)稱為“坐標(biāo)”是為了保證項(xiàng)目唯一性而提出的,如果你要把你項(xiàng)目弄到maven本地倉庫去,你想要找到你的項(xiàng)目就必須根據(jù)這兩個(gè)id去查找。
一般分為多個(gè)段,這里我只說兩段,第一段為域,第二段為公司名稱。域又分為org、com、cn等等許多,其中org為非營利組織,com為商業(yè)組織。舉個(gè)apache公司的tomcat項(xiàng)目例子:這個(gè)項(xiàng)目的groupId是org.apache,它的域是org(因?yàn)閠omcat是非營利項(xiàng)目),公司名稱是apache,artigactId是tomcat。
比如我創(chuàng)建一個(gè)項(xiàng)目,我一般會(huì)將groupId設(shè)置為cn.laok,cn表示域?yàn)橹袊琹aok是我個(gè)人姓名縮寫,artifactId設(shè)置為testProj,表示你這個(gè)項(xiàng)目的名稱是testProj,依照這個(gè)設(shè)置,你的包結(jié)構(gòu)最好是cn.laok.testProj打頭的,如果有個(gè)UserDao,它的全路徑就是cn.laok.testProj.dao.UserDao
3、點(diǎn)擊next,配置maven信息,如圖:
4、點(diǎn)擊next,填寫項(xiàng)目名稱,如圖:
5、創(chuàng)建完成后,項(xiàng)目的結(jié)構(gòu)如圖,在生成代碼之前,不需要?jiǎng)?chuàng)建其他文件夾,但是需要把resources文件夾設(shè)置成Resources Root(右鍵點(diǎn)擊resources文件夾-》Mark Directory As->Resources Root)
四、配置pom.xml和generatorConfig.xml
1、在pom.xml中加入以下配置:
<build> <finalName>create-code</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>
2、在resources源文件夾下面創(chuà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> <classPathEntry location="D:/Java/lib/mysql-connector-java-5.1.43-bin.jar" /> <context id="test" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin> <commentGenerator> <!-- 這個(gè)元素用來去除指定生成的注釋中是否包含生成的日期 false:表示保護(hù) --> <!-- 如果生成日期,會(huì)造成即使修改一個(gè)字段,整個(gè)實(shí)體類所有屬性都會(huì)發(fā)生變化,不利于版本控制,所以設(shè)置為true --> <property name="suppressDate" value="true" /> <!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="false" /> </commentGenerator> <!--數(shù)據(jù)庫鏈接URL,用戶名、密碼 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/article" userId="root" password=""> </jdbcConnection> <javaTypeResolver> <!-- This property is used to specify whether MyBatis Generator should force the use of java.math.BigDecimal for DECIMAL and NUMERIC fields, --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成模型的包名和位置 文件夾自己定義--> <javaModelGenerator targetPackage="com.test.model" targetProject="target"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 生成映射文件的包名和位置 文件夾自己定義--> <sqlMapGenerator targetPackage="com.test.mapping" targetProject="target"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成DAO的包名和位置 文件夾自己定義--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao" implementationPackage="com.test.dao.impl" targetProject="target"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 要生成哪些表 --> <table tableName="t_user" domainObjectName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
3、配置完成后,一定要點(diǎn)擊Build->Rebuild project,生成target文件夾,不然生產(chǎn)代碼的時(shí)候是生產(chǎn)在target文件下下面,沒有這個(gè)文件夾會(huì)報(bào)錯(cuò),當(dāng)然也可以配置生成在其他文件夾下面。項(xiàng)目結(jié)構(gòu)如圖:
特別注意的一點(diǎn):一定要在配置文件中加入本地的mysql-connector-java-5.1.43-bin.jar,
下載地址https://dev.mysql.com/downloads/connector/j/
然后解壓到本地,我的配置如下:<classPathEntry location="D:/Java/lib/mysql-connector-java-5.1.43-bin.jar" />
這個(gè)需要大家根據(jù)自己存放的路徑配置。
五、執(zhí)行生成代碼
1、點(diǎn)擊run->Edit configurations,如圖:
2、之后彈出運(yùn)行配置框,為當(dāng)前配置配置一個(gè)名稱,這里其名為"generator",然后在 “Command line” 選項(xiàng)中輸入“mybatis-generator:generate -e”
這里加了“-e ”選項(xiàng)是為了讓該插件輸出詳細(xì)信息,這樣可以幫助我們定位問題。
3、配置完成后,點(diǎn)擊run-》run generator,不出意外的話,在控制臺中會(huì)出現(xiàn)BUILD SUCCESS的info信息。完整的效果如圖所示:
有寫得不對的地方,煩請各位大佬指正,非常感謝。
以上這篇IDEA Maven Mybatis generator 自動(dòng)生成代碼(實(shí)例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java線程并發(fā)countdownlatch類使用示例
javar的CountDownLatch是個(gè)計(jì)數(shù)器,它有一個(gè)初始數(shù),等待這個(gè)計(jì)數(shù)器的線程必須等到計(jì)數(shù)器倒數(shù)到零時(shí)才可繼續(xù)。2014-01-01使用Spring從YAML文件讀取內(nèi)容映射為Map方式
這篇文章主要介紹了使用Spring從YAML文件讀取內(nèi)容映射為Map方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02SpringBoot使用jasypt加解密密碼的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot使用jasypt加解密密碼的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10