IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug
1.添加插件,在pom文件的下的添加以下配置
<!-- mybatis-generator --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <configurationFile> <!--這里是配置generatorConfig.xml的路徑 不寫(xiě)默認(rèn)在resources目錄下找generatorConfig.xml文件 --> </configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> </dependencies> </plugin>
2.在resources下創(chuàng)建generatorConfig.xml,內(nèi)容如下:
<?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> <!-- context 是逆向工程的主要配置信息 --> <!-- id:起個(gè)名字 --> <!-- targetRuntime:設(shè)置生成的文件適用于那個(gè) mybatis 版本 --> <context id="default" targetRuntime="MyBatis3"> <!--optional,指在創(chuàng)建class時(shí),對(duì)注釋進(jìn)行控制--> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--jdbc的數(shù)據(jù)庫(kù)連接 wg_insert 為數(shù)據(jù)庫(kù)名字--> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wg_insert?useUnicode=true&characeterEncoding=utf-8&serverTimezone=UTC" userId="root" password="123456"></jdbcConnection> <!--非必須,類型處理器,在數(shù)據(jù)庫(kù)類型和java類型之間的轉(zhuǎn)換控制--> <javaTypeResolver> <!-- 默認(rèn)情況下數(shù)據(jù)庫(kù)中的 decimal,bigInt 在 Java 對(duì)應(yīng)是 sql 下的 BigDecimal 類 --> <!-- 不是 double 和 long 類型 --> <!-- 使用常用的基本類型代替 sql 包下的引用類型 --> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- targetPackage:生成的實(shí)體類所在的包 --> <!-- targetProject:生成的實(shí)體類所在的硬盤位置 --> <javaModelGenerator targetPackage="com.wglvzyx.mybatisredis.entity" targetProject="src/main/java"> <!-- 是否允許子包 --> <property name="enableSubPackages" value="false"/> <!-- 是否對(duì)modal添加構(gòu)造函數(shù) --> <property name="constructorBased" value="true"/> <!-- 是否清理從數(shù)據(jù)庫(kù)中查詢出的字符串左右兩邊的空白字符 --> <property name="trimStrings" value="true"/> <!-- 建立modal對(duì)象是否不可改變 即生成的modal對(duì)象不會(huì)有setter方法,只有構(gòu)造方法 --> <property name="immutable" value="false"/> </javaModelGenerator> <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <!-- 針對(duì)數(shù)據(jù)庫(kù)的一個(gè)配置,是否把 schema 作為字包名 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.wglvzyx.mybatisredis.dao" targetProject="src/main/java"> <!-- 針對(duì) oracle 數(shù)據(jù)庫(kù)的一個(gè)配置,是否把 schema 作為字包名 --> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!-- tableName是數(shù)據(jù)庫(kù)中的表名,domainObjectName是生成的JAVA模型名,后面的參數(shù)不用改,要生成更多的表就在下面繼續(xù)加table標(biāo)簽 --> <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
3.運(yùn)行,這里有兩種方法:
方法一:
在Intellij IDEA添加一個(gè)“Run運(yùn)行”選項(xiàng),使用maven運(yùn)行mybatis-generator-maven-plugin插件 (mybatis-generator:generate -e):
方法二:
在右側(cè)打開(kāi)maven面板在Plugins下打開(kāi)Mybatis-generator下的mybatis-generator:generate,右鍵Run Maven Build!
注意:
因?yàn)橛玫氖莔ysql-8.0.11
所以配置有所不同
主要就是新版本有新特性,首先,最新官方支持將com.mysql.jdbc.Driver改為com.mysql.cj.jdbc.Driver,此外mysql8.0是不需要建立ssl連接的,你需要顯示關(guān)閉,即url中的useSSL=false;最后你需要設(shè)置CST,CST可視為美國(guó)、澳大利亞、古巴或中國(guó)的標(biāo)準(zhǔn)時(shí)間。serverTimezone是設(shè)置時(shí)區(qū)的,大家可以查一下相關(guān)資料了解一下哦!
jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC jdbc.username=root jdbc.password=123456
到此這篇關(guān)于IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的坑的文章就介紹到這了,更多相關(guān)IDEA使用mybatis-generator配上mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解mysql的limit經(jīng)典用法及優(yōu)化實(shí)例
這篇文章詳細(xì)介紹了mysql的limit經(jīng)典用法及優(yōu)化實(shí)例,有需要的朋友可以參考一下2013-09-09MYSQL updatexml()函數(shù)報(bào)錯(cuò)注入解析
這篇文章主要介紹了MYSQL updatexml()函數(shù)報(bào)錯(cuò)注入解析,并且簡(jiǎn)單介紹了updatexml函數(shù),具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù)
這篇文章主要介紹了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù),需要的朋友可以參考下2015-08-08linux下導(dǎo)入、導(dǎo)出mysql數(shù)據(jù)庫(kù)命令的實(shí)現(xiàn)方法
下面小編就為大家分享一篇linux下導(dǎo)入、導(dǎo)出mysql數(shù)據(jù)庫(kù)命令的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12在CentOS上MySQL數(shù)據(jù)庫(kù)服務(wù)器配置方法
最近工作中經(jīng)常需要使用到MySQL,有時(shí)候在WINXP,有時(shí)候在Linux中,而這次,需要在CentOS中配置一下,還需要用到phpmyadmin, 在網(wǎng)上搜了不少的資料。2010-04-04mysql 中存在null和空時(shí)創(chuàng)建唯一索引的方法
據(jù)庫(kù)默認(rèn)值都有null,此時(shí)創(chuàng)建唯一索引時(shí)要注意了,此時(shí)數(shù)據(jù)庫(kù)會(huì)把空作為多個(gè)重復(fù)值2014-10-10mysql橫向轉(zhuǎn)縱向、縱向轉(zhuǎn)橫向排列的方法
這篇文章主要介紹了mysql橫向轉(zhuǎn)縱向、縱向轉(zhuǎn)橫向排列的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10MySQL從MyISAM轉(zhuǎn)換成InnoDB錯(cuò)誤與常用解決辦法
由于一些程序的要求,需要MyISAM數(shù)據(jù)引擎或InnoDB,下面是具體的解決方法,經(jīng)測(cè)試偶爾會(huì)出現(xiàn)一些問(wèn)題。2011-05-05MySQL中substr函數(shù)使用方法實(shí)例詳解
MySQL的SUBSTR()函數(shù)可以用于從指定字符串的指定位置開(kāi)始提取指定長(zhǎng)度的字符,下面這篇文章主要給大家介紹了關(guān)于MySQL中substr函數(shù)使用方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08Mysql錯(cuò)誤:Too many connections的解決方法
這篇文章主要給大家介紹了關(guān)于Mysql錯(cuò)誤Too many connections的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06