最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis自動創(chuàng)建表和更新表結構

 更新時間:2016年06月27日 12:06:12   作者:孫琛斌  
這篇文章主要介紹了Mybatis自動創(chuàng)建表和更新表結構的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

最近有小伙伴問我mybatis有沒有自動創(chuàng)建表結構的功能,因為他們之前一直使用hibernate用習慣了,理所當然的認為,在實體類上配置下注解或者寫寫映射文件,系統(tǒng)啟動后就可以自動創(chuàng)建表。

我只能很遺憾的告訴他,mybatis并沒有這個功能,看他興致闌珊的樣子,我只能安慰他,就算沒有這功能,我們可以自己開發(fā)啊~~

所以就有了下面這套系統(tǒng),已開源大家可以下來看看~~

Mybatis_BuildTable_V0.2

https://git.oschina.net/sunchenbin/Mybatis_BuildTable_V0.2.git

該項目架構使用的是SpringMvc+Mybatis+Maven,功能特點是通過配置model注解的方式來創(chuàng)建表,修改表結構,目前僅支持Mysql,因為重點是突出mybatis自動創(chuàng)表的功能,所以在框架上沒有話太多心思。

使用規(guī)范:

核心代碼都在model-store-repo中

1.SysMysqlColumns.java這個對象里面配置的是mysql的數據類型,這里配置的類型越多,意味著創(chuàng)建表時能使用的類型越多

2.LengthCount.java是一個自定義的注解,用于標記在SysMysqlColumns.java里面配置的數據類型上的,標記該類型需要設置幾個長度,如datetime/varchar(1)/decimal(5,2),分別是需要設置0個1個2個

3.Column.java也是一個自定義的注解,用于標記model中的字段上,作為創(chuàng)建表的依據如不標記,不會被掃描到,有幾個屬性用來設置字段名、字段類型、長度等屬性的設置,詳細請看代碼上的注釋

4.Table.java也是一個自定義的注解,用于標記在model對象上,有一個屬性name,用于設置該model生成表后的表名,如不設置該注解,則該model不會被掃描到

ok,系統(tǒng)啟動后會去自動調用SysMysqlCreateTableManagerImpl.java的createMysqlTable()方法,沒錯,這就是核心方法了,負責創(chuàng)建、刪除、修改表。

model-store-frontend/resources/config/autoCreateTable.properties

你會發(fā)現(xiàn)有這樣一個配置文件,其中有兩項配置

1.mybatis.table.auto=update

2.mybatis.model.pack=com.sunchenbin.store.model

本系統(tǒng)提供兩種模式:

1.當mybatis.table.auto=create時,系統(tǒng)啟動后,會將所有的表刪除掉,然后根據model中配置的結構重新建表,該操作會破壞原有數據。

2.當mybatis.table.auto=update時,系統(tǒng)會自動判斷哪些表是新建的,哪些字段要修改類型等,哪些字段要刪除,哪些字段要新增,該操作不會破壞原有數據。

3.mybatis.model.pack這個配置是用來配置要掃描的用于創(chuàng)建表的對象的包名

系統(tǒng)配置的是使用maven來啟動的,web依賴repo,frontend和mobile依賴web,所以要運行frontend和mobile,必須先instal一下web和repo

至于如何用maven啟動項目….不再多說了。

以上所述是小編給大家介紹的Mybatis自動創(chuàng)建表和更新表結構的全部敘述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • maven profile自動切換環(huán)境參數的2種方法詳解

    maven profile自動切換環(huán)境參數的2種方法詳解

    這篇文章主要給大家介紹了關于maven profile自動切換環(huán)境參數的2種方法,文中通過示例代碼將這兩種方法介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-04-04
  • 詳解Java分布式系統(tǒng)中一致性哈希算法

    詳解Java分布式系統(tǒng)中一致性哈希算法

    這篇文章主要介紹了Java分布式系統(tǒng)中一致性哈希算法,對算法感興趣的同學,可以參考下
    2021-04-04
  • Redis緩存及熱點key問題解決方案

    Redis緩存及熱點key問題解決方案

    這篇文章主要介紹了Redis緩存及熱點key問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • java中構造方法和普通方法的區(qū)別說明

    java中構造方法和普通方法的區(qū)別說明

    這篇文章主要介紹了java中構造方法和普通方法的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • springboot整合Shiro的步驟

    springboot整合Shiro的步驟

    這篇文章主要介紹了springboot整合Shiro的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2021-01-01
  • Spring Cloud Alibaba之Sentinel實現(xiàn)熔斷限流功能

    Spring Cloud Alibaba之Sentinel實現(xiàn)熔斷限流功能

    這篇文章主要介紹了Spring Cloud Alibaba之Sentinel,這里使用阿里的sentinel來實現(xiàn)熔斷限流功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java中加鎖的方式代碼示例

    Java中加鎖的方式代碼示例

    這篇文章主要給大家介紹了關于Java中加鎖方式的相關資料,我們平時開發(fā)的過程中難免遇到多線程操作共享資源的時候,這時候一般可以通過加鎖的方式保證操作的安全性,需要的朋友可以參考下
    2023-09-09
  • android中判斷服務或者進程是否存在實例

    android中判斷服務或者進程是否存在實例

    本篇文章主要介紹了android中判斷服務或者進程是否存在實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java超詳細講解設計模式中的命令模式

    Java超詳細講解設計模式中的命令模式

    命令模式是將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數化,對請求排隊或者對請求做日志記錄,以及可以支持撤銷的操作
    2022-04-04
  • Java?8?中?Function?接口使用方法介紹

    Java?8?中?Function?接口使用方法介紹

    這篇文章主要介紹了Java?8中?Function接口使用方法介紹,Java8中提供了一個函數式接口Function,這個接口表示對一個參數做一些操作然后返回操作之后的值
    2022-06-06

最新評論

利辛县| 长岛县| 嘉荫县| 双鸭山市| 穆棱市| 澄迈县| 临夏县| 香格里拉县| 含山县| 和静县| 界首市| 凤山市| 隆子县| 宜兰市| 乐至县| 定边县| 商洛市| 新沂市| 绥中县| 锡林郭勒盟| 交城县| 中卫市| 涿州市| 阜康市| 博爱县| 瑞安市| 沁水县| 斗六市| 平顺县| 普格县| 新田县| 边坝县| 黄冈市| 留坝县| 神农架林区| 鲁甸县| 侯马市| 郎溪县| 乐安县| 株洲县| 涟源市|