用IDEA基於maven項目使用mybatis-generator-plugin生成mapper和pojo
雖然MyBatis很方便,但是想要手寫全部的mapper還是很累人的,好在MyBatis官方推出了自動化工具,可以根據數據庫和定義好的配置直接生成DAO層及以下的全部代碼,非常方便.
首先wom我們自己建一個maven項目,我這裏就不詳細寫
mybatis-generator使用配置
打開pom.xml文件,添加3個依賴和mybatis-generator插件,分別是1.mybatis3.xjar包 2.逆向工程核心包 3.數據庫連接包 4.log4j.jar用於輸出日誌
<build>
<plugins>
<plugin>
<!--
用maven mybatis插件
如果不在plugin裏麵添加依賴包得引用的話,會找不到相關得jar包,
在plugin外部得jar包,他不會去找到並執行,
所以要把plugin運行依賴得jar配置都放在裏麵
-->
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
在src/main/resources包下創建逆向工程配置文件generatorConfig.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"https://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自動生成的注釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis"
userId="root"
password="123qwe">
</jdbcConnection>
<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
userId="yycg"
password="yycg">
</jdbcConnection> -->
<!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把JDBC DECIMAL 和
NUMERIC 類型解析為java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO類的位置 -->
<javaModelGenerator targetPackage="po"
targetProject="src">
<!-- enableSubPackages:是否讓schema作為包的後綴 -->
<property name="enableSubPackages" value="false" />
<!-- 從數據庫返回的值被清理前後的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src">
<!-- enableSubPackages:是否讓schema作為包的後綴 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="mapper"
targetProject="src">
<!-- enableSubPackages:是否讓schema作為包的後綴 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定數據庫表 -->
<table tableName="items"></table>
<table tableName="orders"></table>
<table tableName="orderdetail"></table>
<!-- <table schema="" tableName="sys_user"></table>
<table schema="" tableName="sys_role"></table>
<table schema="" tableName="sys_permission"></table>
<table schema="" tableName="sys_user_role"></table>
<table schema="" tableName="sys_role_permission"></table> -->
<table tableName="t_warningSetting" domainObjectName="WarningSetting" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<!-- 有些表的字段需要指定java類型
<table schema="" tableName="">
<columnOverride column="" javaType="" />
</table> -->
</context>
</generatorConfiguration>
需要修改的地方:
javaModelGenerator,生成PO類的位置
sqlMapGenerator,mapper映射文件生成的位置
javaClientGenerator,mapper接口生成的位置
table,其tableName屬性對應數據庫中相應表
點擊IDEA右邊的maven projects標簽,按下圖進行操作
這裏寫圖片描述
運行插件後最後的工程目錄結構如下:
這裏寫圖片描述
mybatis-generator的應用
mybatis-generator往往是單獨的建立一個普通工程如A,通過運行逆向工程生成相應的mapper和po後然後再將這兩個包拷貝到我們使用到ssm框架創建的web項目,而不是直接在web項目中使用逆向工程。
通過運行上述的程序,我們便通過數據庫中的表快速的生成了相應的po類和mapper,而不用我們程序員自己再編寫相應的po類和mapper,為我們帶來了很大的方便,所以這個一定要學會,在後續開發中隻要使用到mybatis的地方我們都會通過mybatis的逆向工程自動為我們生成mapper和po類。
最後更新:2017-09-08 09:02:42
上一篇:
網易2018校招內推編程題 堆棋子
下一篇:
影響基礎設施和運維的10大技術趨勢
開發人員對測試人員最常說的20句話
HTAP數據庫 PostgreSQL 場景與性能測試之 29 - (OLTP) 高並發空間位置更新(含空間索引)
c語言基礎(四)之指針
《互聯網領域Java從來就不是主流》一個完全錯誤的標題!炒作短時間帶來了流量,卻損害了作者的聲譽,推薦人的信譽,以及讀者對於網站的期待。
Qt5.2 for Android 配置及部署到手機運行
The type javax.http.HttpServletRequest cannot be resolved.It is indirectly
Validate File Format
碼棧開發手冊(一)---編碼方式開發(初級課程⑦)
Mac OS X下的動態鏈接庫
Android開發2——創建測試項目