久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解在idea 中使用Mybatis Generator逆向工程生成代碼

瀏覽:123日期:2024-08-02 16:05:43

通過(guò)MAVEN完成 Mybatis 逆向工程

1. POM文件中添加插件

在 pom 文件的build 標(biāo)簽中 添加 plugin 插件和 數(shù)據(jù)庫(kù)連接 jdbc 的依賴(lài)。

<build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version></dependency> </dependencies> <configuration><!-- 輸出詳細(xì)信息 --><verbose>true</verbose><!-- 覆蓋生成文件 --><overwrite>true</overwrite><!-- 定義配置文件 --><configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> </configuration> </plugin> </plugins></build>

若不在pom文件中引入數(shù)據(jù)庫(kù)連接依賴(lài),也可在配置文件中通過(guò)本地方式啟動(dòng)連接。

2. 在自己定義的位置上添加配置文件 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ú)配置屬性,可將其配入properties后 通過(guò)此方式導(dǎo)入屬性 ${userId} --> <!-- <properties resource='generator.properties'></properties>--> <!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng): 若之前未在build里配置數(shù)據(jù)庫(kù)驅(qū)動(dòng)包,可選擇本地硬盤(pán)上面的數(shù)據(jù)庫(kù)驅(qū)動(dòng)包--> <classPathEntry location='D:Mavenrepositorymysqlmysql-connector-java5.1.38mysql-connector-java-5.1.38.jar'/> <!-- targetRuntime 默認(rèn)為MyBatis3DynamicSql,該值不會(huì)生成xml文件, 可選擇Mybatis3 --> <context targetRuntime='Mybatis3'> <!-- optional,旨在創(chuàng)建class時(shí),對(duì)注釋進(jìn)行控制 --> <commentGenerator> <!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 --> <property name='suppressAllComments' value='true' /> </commentGenerator> <!-- 配置數(shù)據(jù)庫(kù)連接 --> <jdbcConnectiondriverClass='com.mysql.jdbc.Driver'connectionURL='jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai'userId='root'password='123456'> </jdbcConnection> <!-- 非必需,類(lèi)型處理器,在數(shù)據(jù)庫(kù)類(lèi)型和java類(lèi)型之間的轉(zhuǎn)換控制--> <javaTypeResolver > <property name='forceBigDecimals' value='false' /> </javaTypeResolver> <!-- Model模型生成器,用來(lái)生成含有主鍵key的類(lèi),記錄類(lèi) 以及查詢(xún)Example類(lèi) targetPackage 指定生成的model生成所在的包名 targetProject 指定在該項(xiàng)目下所在的路徑 --> <javaModelGenerator targetPackage='com.demo.dao.pojo' targetProject='src/main/java'> <!-- 是否允許子包,即targetPackage.schemaName.tableName --> <property name='enableSubPackages' value='true'/> <!-- 是否對(duì)model添加 構(gòu)造函數(shù) --> <property name='constructorBased' value='false'/> <!-- 是否對(duì)類(lèi)CHAR類(lèi)型的列的數(shù)據(jù)進(jìn)行trim操作 --> <property name='trimStrings' value='false'/> <!-- 建立的Model對(duì)象是否 不可改變 即生成的Model對(duì)象不會(huì)有 setter方法,只有構(gòu)造方法 --> <property name='immutable' value='true'/> </javaModelGenerator> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage='mapper' targetProject='src/main/resources'> <property name='enableSubPackages' value='false'/> </sqlMapGenerator> <!-- 客戶(hù)端代碼,生成易于使用的針對(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.demo.dao.mapper' targetProject='src/main/java' type='XMLMAPPER'> <property name='enableSubPackages' value='false'/> </javaClientGenerator> <table tableName='aging_demotion' domainObjectName='AgingDemotion'enableCountByExample='false' enableUpdateByExample='false'enableDeleteByExample='false' enableSelectByExample='false'selectByExampleQueryId='false'> <!-- 插入時(shí)自動(dòng)返回主鍵ID --> <generatedKey column='aging_demotion_id' sqlStatement='Mysql' identity='true' /> </table> <table tableName='aging_listener' domainObjectName='AgingListener'enableCountByExample='false' enableUpdateByExample='false'enableDeleteByExample='false' enableSelectByExample='false'selectByExampleQueryId='false'> </table> <table tableName='aging_state' domainObjectName='AgingState'enableCountByExample='false' enableUpdateByExample='false'enableDeleteByExample='false' enableSelectByExample='false'selectByExampleQueryId='false'> </table> </context></generatorConfiguration>

XML配置信息可參考mybatis官網(wǎng):http://mybatis.org/generator/configreference/xmlconfig.html

3.通過(guò)maven啟動(dòng)

詳解在idea 中使用Mybatis Generator逆向工程生成代碼

點(diǎn)擊mybatis-generate:generate即可生成對(duì)應(yīng) java,mapper 和 pojo實(shí)體類(lèi)。(若maven沒(méi)有顯示此插件,可點(diǎn)擊左上角刷新)

4.Insert時(shí)返回自增主鍵

通過(guò)generatedKey 使其插入時(shí)返回ID,其值必須為數(shù)值型自增主鍵。

其逆向生成的代碼為:

<selectKey keyProperty='agingDemotionId' order='AFTER' resultType='java.lang.Long'> SELECT LAST_INSERT_ID()</selectKey>

也可自己通過(guò)這種方式實(shí)現(xiàn)返回自增ID。

<insert useGeneratedKeys='true' keyProperty='agingDemotionId' parameterType='com.jd.aging.presentation.domain.AgingDemotionEntity'>

這種方式只適用于傳入對(duì)象時(shí),insert方法成功依舊返回的是 1, 不過(guò)傳入的實(shí)體類(lèi)對(duì)象中 主鍵 ID 的值 不再為 null, 而是獲得該插入實(shí)體類(lèi)的主鍵ID值。

詳解在idea 中使用Mybatis Generator逆向工程生成代碼

到此這篇關(guān)于詳解在idea 中使用Mybatis Generator逆向工程生成代碼的文章就介紹到這了,更多相關(guān)MAVEN完成 Mybatis 逆向工程內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 青龙| 道真| 会昌县| 广饶县| 岐山县| 临夏市| 宁强县| 邳州市| 离岛区| 独山县| 新丰县| 三明市| 林州市| 富裕县| 临沧市| 青岛市| 恭城| 富阳市| 永宁县| 诸暨市| 崇州市| 长治县| 凤山县| 富蕴县| 呼图壁县| 监利县| 曲水县| 和平区| 南阳市| 利川市| 周至县| 普安县| 镇坪县| 渭源县| 古浪县| 合水县| 江陵县| 左云县| 星座| 泸州市| 天津市|