springmvc學習筆記--mybatis--使用插件自動生成實體和mapper

由于表對象在開發過程中會增刪字段,有時候需要重新生成實體和對應的mapper,這時候可以通過mybatis的插件的生成。

優點是快速簡潔,缺點同樣很明顯:覆蓋。因此,通常是在第一次搭建框架的時候使用,因為開發過程中實體的字段會被修改,如添加注解validator、format等。所以架構師學會用包裝對象?包裝對象怎么實現在原始表的屬性的控制呢,比如日期格式化,比如校驗。

1.首先,在pom中依賴插件:

 1  <!-- Mybatis generator代碼生成插件 配置 -->
 2             <plugin>
 3                 <groupId>org.mybatis.generator</groupId>
 4                 <artifactId>mybatis-generator-maven-plugin</artifactId>
 5                 <version>${plugin.mybatis.generator}</version>
 6                 <configuration>
 7                     <configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
 8                     <overwrite>true</overwrite>
 9                     <verbose>true</verbose>
10                 </configuration>
11             </plugin>
1  <properties>
2         <!-- plugin setting -->
3         <mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
4         <mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.properties</mybatis.generator.generatorConfig.properties>
5 </properties>

2.在maven項目中的test模塊里進行配置:

在test/resources下添加generatorConfig.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 <!-- 配置Run As Maven build : Goals 參數 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
 7 <!-- 配置 tableName,使用 Run As Maven build 生成 dao model 層 -->
 8 <generatorConfiguration>
 9     <!-- 配置文件路徑 -->
10     <properties url="${mybatis.generator.generatorConfig.properties}"/>
11 
12     <!--數據庫驅動包路徑 -->
13     <classPathEntry location="${drive.class.path}"/>
14 
15     <context id="DB2Tables" targetRuntime="MyBatis3">
16         <!--關閉注釋 -->
17         <commentGenerator>
18             <property name="suppressAllComments" value="true"/>
19         </commentGenerator>
20 
21         <!--數據庫連接信息 -->
22         <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}"
23                         password="${jdbc.password}">
24         </jdbcConnection>
25 
26         <!--生成的model 包路徑 -->
27         <javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}">
28             <property name="enableSubPackages" value="ture"/>
29             <property name="trimStrings" value="true"/>
30         </javaModelGenerator>
31 
32         <!--生成xml mapper文件 路徑 -->
33         <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}">
34             <property name="enableSubPackages" value="ture"/>
35         </sqlMapGenerator>
36 
37         <!-- 生成的Dao接口 的包路徑 -->
38         <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}">
39             <property name="enableSubPackages" value="ture"/>
40         </javaClientGenerator>
41 
42         <!--對應數據庫表名 -->
43         <table tableName="user">
44 
45         </table>
46     </context>
47 </generatorConfiguration>
View Code

修改最后需要生成的表名,我將部分關鍵數據抽取出來放在generatorConfig.properties,這個文件放在同一目錄下。

 1 # 數據庫驅動jar 路徑
 2 drive.class.path=D:\\MyApp\\repository\\mysql\\mysql-connector-java\\5.1.29\\mysql-connector-java-5.1.29.jar
 3 
 4 # 數據庫連接參數
 5 jdbc.driver=com.mysql.jdbc.Driver
 6 jdbc.url=jdbc:mysql://localhost:3306/數據庫名?useUnicode=true&characterEncoding=utf-8
 7 jdbc.username=root
 8 jdbc.password=密碼
 9 
10 # 包路徑配置
11 model.package=com.demo.modules.front.entity
12 dao.package=com.demo.modules.front.mapper
13 xml.mapper.package=com.demo.modules.front.mapper
14 
15 target.project=src/main/java
View Code

3.生成

運行mybatis-generator:generate即可在需要的bao下生成對應的文件。

4.注意

在第二次或之后運行生成文件的時候,java類會被覆蓋,也就是說如果對實體對象進行了手動修改的話需要慎重;還有:

xml文件不會被覆蓋,只是追加,這樣會導致xml文件中重復模塊,因此需要刪除xml文件后生成。

由于idea默認只在resource下加載xml,如果默認配置mapper.java和xml同一個目錄,可能不會識別,所以需要將xml配置到resource下,或者在maven的pom中添加resource:

 1 <!--配置Maven 對resource文件 過濾 -->
 2         <resources>
 3             <resource>
 4                 <directory>src/main/resources</directory>
 5                 <includes>
 6                     <include>**/*.properties</include>
 7                     <include>**/*.xml</include>
 8                 </includes>
 9                 <filtering>true</filtering>
10             </resource>
11             <resource>
12                 <directory>src/main/java</directory>
13                 <includes>
14                     <include>**/*.properties</include>
15                     <include>**/*.xml</include>
16                 </includes>
17                 <filtering>true</filtering>
18             </resource>
19         </resources>
View Code

?

轉載于:https://www.cnblogs.com/woshimrf/p/5189371.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375079.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

靶場練習第三天~vulnhub靶場之narak

靶機下載鏈接: https://pan.baidu.com/s/1GxcSL6efwd0GcbY45WsD0A 提取碼: dhr5 一、信息收集 1.使用namp 192.168.101.0/24掃描該網段的地址&#xff0c;尋找靶機IP 2.直接訪問192.168.101.102 3.進行目錄掃描&#xff0c;dirb目錄掃描工具&#xff08;kali自帶的&#xff…

hdu 1754 塊狀鏈表 單點修改+單點查詢

經典的線段樹題目&#xff0c;也可以用塊狀鏈表做。 1 #include <iostream>2 #include <cstring>3 #include <cstdio>4 #include <cmath>5 using namespace std;6 7 const int N 200000;8 const int M 800;9 int n, m, tot;10 11 int max( int a, in…

靶場練習第四天~vulnhub靶場之Lazysysadmin

靶機下載鏈接: https://pan.baidu.com/s/1MMkgaYLRc78YX4s6nvqdjQ 提取碼: djpm 信息收集 查看kali的IP 使用nmap 192.168.101.0/24 探測靶機IP 發現開放445端口&#xff0c;并且開放的服務microsoft-ds。可以用enum4linux工具來掃描共享文件&#xff0c;使用方法: enum4linux…

關于代碼手寫UI,xib和StoryBoard

代碼手寫UI 這種方法經常被學院派的極客或者依賴多人合作的大型項目大規模使用。Geek們喜歡用代碼構建UI&#xff0c;是因為代碼是鍵盤敲出來的&#xff0c;這樣可以做到不開IB&#xff0c;手不離開鍵盤就完成工作&#xff0c;可以專注于編碼環境&#xff0c;看起來很cool很高效…

ODAC(V9.5.15) 學習筆記(十)TVirtualTable

名稱 類型 說明 Options TVirtualTableOptions 選擇項&#xff0c;包括&#xff1a; voPersistentData&#xff1a;在數據集關閉時不處理其相關數據內容 voStored&#xff1a;設計期對數據集的處理以及錄入的數據將保存在DFM文件中 AddField 增加一個字段&#xff0c…

SQLSERVER如何獲取一個數據庫中的所有表的名稱、一個表中所有字段的名稱

1.查詢數據庫中的所有數據庫名&#xff1a; 1 SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查詢某個數據庫中所有的表名&#xff1a; 1 SELECT Name FROM SysObjects Where XTypeU ORDER BY Name 3.查詢表結構信息&#xff1a; 1 SELECT (case when a.colorder1 …

靶場練習第五天~vulnhub靶場之basic_pentesting_1

一、信息收集 1.主機發現 靶機下載鏈接: https://pan.baidu.com/s/143q3cbZG6-8y8kMk51Lc_Q 提取碼: i8hv &#xff08;1&#xff09;Netdiscover&#xff1a;專用的二層發現工具&#xff0c;擁有主動和被動發現兩種方式 具體操作如下&#xff0c;查看一下kali的ip 然后使用…

計算機網絡學習筆記(二) 計算機網絡結構

什么是網絡結構&#xff1f; n 網絡邊緣: 主機網絡應用 n 接入網絡&#xff0c;物理介質:有線或無線通信鏈路 n 網絡核心&#xff08; 核心網絡&#xff09; :互聯的路由器&#xff08;或分組轉發設備&#xff09;網絡之網…

Javascript常用的設計模式詳解

Javascript常用的設計模式詳解 閱讀目錄 一&#xff1a;理解工廠模式二&#xff1a;理解單體模式三&#xff1a;理解模塊模式四&#xff1a;理解代理模式五&#xff1a;理解職責鏈模式六&#xff1a;命令模式的理解&#xff1a;七&#xff1a;模板方法模式八&#xff1a;理解ja…

靶場練習第六天~vulnhub靶場之Lampiao

靶機下載鏈接: https://pan.baidu.com/s/1h0uiwvBkX8iXFyMAO23e1A 提取碼: 2kjp 一、信息收集 1.靶機發現 &#xff08;1&#xff09;靶機lampiao與kali均為NAT模式 ,Kali的 IP為192.168.101.10, 掃描網段用命令nmap -sp192.168.101.0/24&#xff0c;發現靶機ip為192.168.10…

生成百度地圖 如何弄

http://api.map.baidu.com/lbsapi/creatmap/index.html轉載于:https://www.cnblogs.com/qinqiu/p/4476747.html

內存泄露從入門到精通三部曲之排查方法篇

最原始的內存泄露測試 重復多次操作關鍵的可疑的路徑&#xff0c;從內存監控工具中觀察內存曲線&#xff0c;是否存在不斷上升的趨勢且不會在程序返回時明顯回落。這種方式可以發現最基本&#xff0c;也是最明顯的內存泄露問題&#xff0c;對用戶價值最大&#xff0c;操作難度小…

靶場練習第七天~vulnhub靶場之mrRobot

靶機下載鏈接: 百度網盤 請輸入提取碼 提取碼: sqv3 一、主機發現 1.用ifconfig查看kali的ip&#xff0c;因為kali和靶機都開啟了NAT模式&#xff0c;使用namp -sP 192.168.101.0/24探測靶機ip 二、信息收集 1.使用nmap掃描靶機 使用nmap -A 192.168.101.108 &#xff0c;查…

JAVA第二次試驗

北京電子科技學院&#xff08;BESTI&#xff09; 實 驗 報 告 課程&#xff1a;Java程序設計 班級&#xff1a;1352 姓名&#xff1a;潘俊洋 學號&#xff1a;20135230 成績&#xff1a; 指導教師:婁嘉鵬 實驗日期:2015.5.4 實驗密級&#xff1a…

【轉】怎么樣從一個瘋狂下載者成為一個學習者!!!值得反省下的問題·~~

為了方便廣大網友&#xff0c;各種網站也應運而生。當網絡的建設和發展正進行的如火如荼&#xff0c;喧鬧之中&#xff0c;搭配學習這壺美酒的&#xff0c;竟是一瓶名叫資料下載的毒藥&#xff0c;更糟糕的是&#xff0c;美酒和毒藥已經被灌到了同一個杯子里&#xff0c;渾然一…

靶場練習第八天~vulnhub靶場之CH4INRULZ_v1.0.1

一、前期準備 1.靶機下載 鏈接: 百度網盤 請輸入提取碼 提取碼: z37y 2.用命令ifconfig查看kali 二、信息收集 1.主機發現&#xff0c;使用nmap命令 具體使用方法&#xff1a;nmap -sP 192.168.101.0/24 2.查看該靶機開放了哪些端口 nmap -A 192.168.101.109 直接訪問80端…

C# 不支持關鍵字: “.;database”。

解決方案分析:這個一定是鏈接字符串有問題&#xff0c;核對web.config 和程序的字符串是否有誤轉載于:https://www.cnblogs.com/louby/p/5208986.html

TImus 1073 Square Country DP

題意&#xff1a;給出一個數n(1<n<60000),這個數可以寫成一些數的平方的和&#xff0c; 問對于n&#xff0c;最少可以分成多少個數的平方的和。 比如&#xff1a;n344&#xff0c;則34418*184*42*2&#xff0c;輸出3. dp[i]表示i這個數最少可以分成多少個數的平方的和。 …

vulnhub靶機獲取不到ip

1.啟動靶機&#xff0c;出現如下圖所示&#xff0c;按e 2.進入如下圖所示時&#xff0c;將ro 替換為 rw signie init/bin/bash 3.按下Ctrl鍵X鍵&#xff0c;重啟服務進入如下界面 4.查看當前網卡IP信息 ip a 5.編輯網卡配置文件vi /etc/network/interfaces 6.發現網卡名字與剛…

apache整合tomcat部署集群

近日&#xff0c;由于公司項目需要&#xff0c;所以學習了apache整合tomcat以及集群的一些知識。 所以做下筆記日后回顧可以用到。 apache只有處理靜態事物的能力&#xff0c; 而tomcat的強項就是處理動態的請求&#xff0c;所以apache和tomcat整合相互取長補短&#xff0c;由a…