???? SSI ????????

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java
???? SSI ????????
首頁 > 軟件編程 > java > mybatis 創(chuàng)建表更新表結(jié)構(gòu)

Mybatis自動(dòng)創(chuàng)建表和更新表結(jié)構(gòu)

作者:孫琛斌

這篇文章主要介紹了Mybatis自動(dòng)創(chuàng)建表和更新表結(jié)構(gòu)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

最近有小伙伴問我mybatis有沒有自動(dòng)創(chuàng)建表結(jié)構(gòu)的功能,因?yàn)樗麄冎耙恢笔褂胔ibernate用習(xí)慣了,理所當(dāng)然的認(rèn)為,在實(shí)體類上配置下注解或者寫寫映射文件,系統(tǒng)啟動(dòng)后就可以自動(dòng)創(chuàng)建表。

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

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

Mybatis_BuildTable_V0.2

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

該項(xiàng)目架構(gòu)使用的是SpringMvc+Mybatis+Maven,功能特點(diǎn)是通過配置model注解的方式來創(chuàng)建表,修改表結(jié)構(gòu),目前僅支持Mysql,因?yàn)橹攸c(diǎn)是突出mybatis自動(dòng)創(chuàng)表的功能,所以在框架上沒有話太多心思。

使用規(guī)范:

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

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

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

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

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

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

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

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

1.mybatis.table.auto=update

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

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

1.當(dāng)mybatis.table.auto=create時(shí),系統(tǒng)啟動(dòng)后,會(huì)將所有的表刪除掉,然后根據(jù)model中配置的結(jié)構(gòu)重新建表,該操作會(huì)破壞原有數(shù)據(jù)。

2.當(dāng)mybatis.table.auto=update時(shí),系統(tǒng)會(huì)自動(dòng)判斷哪些表是新建的,哪些字段要修改類型等,哪些字段要?jiǎng)h除,哪些字段要新增,該操作不會(huì)破壞原有數(shù)據(jù)。

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

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

至于如何用maven啟動(dòng)項(xiàng)目….不再多說了。

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

您可能感興趣的文章:
閱讀全文
???? SSI ????????
???? SSI ????????