日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > Mybatis自動創(chuàng)建表/更新表結(jié)構(gòu)/動態(tài)建表

Mybatis自動創(chuàng)建表/更新表結(jié)構(gòu)/動態(tài)建表

來源:程序員人生   發(fā)布時間:2016-08-09 08:45:57 閱讀次數(shù):14071次

最近有小火伴問我mybatis有無自動創(chuàng)建表結(jié)構(gòu)的功能,由于他們之前1直使用hibernate用習(xí)慣了,天經(jīng)地義的認為,在實體類上配置下注解或?qū)憣懹痴瘴募到y(tǒng)啟動后就能夠自動創(chuàng)建表。

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

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

Mybatis_BuildTable_V0.2

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

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

使用規(guī)范:

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

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

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

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

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

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

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

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

1.mybatis.table.auto=update

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

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

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

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

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

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

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

嗯~~ 有的朋友說這套系統(tǒng)的實際意義不大,見仁見智了,對有的人來說是沒意義的,而對另外一部份人講可能會有很大的幫助…好了,就醬~

后續(xù)我準備重構(gòu)1下,打成jar包以供大家使用。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久中文字幕一区二区三区 | 免费av网站在线 | 日本视频久久 | 免费日韩av | 欧美成人在线免费 | 加勒比不卡 | 成人久久影院 | 91精品网| 亚洲一区高清 | av中文字幕一区二区 | 亚洲国产日韩精品 | 中文字幕高清在线 | 色综久久| 很黄的网站在线观看 | 亚洲成人99| 四季久久免费一区二区三区四区 | 99久久久国产精品 | 成人欧美一区二区三区视频网页 | 久久久久久久久久久网站 | 精品国产欧美一区二区三区成人 | 成人在线精品视频 | 国产精品一区二区在线观看网站 | 涩爱av一区二区三区 | 亚州精品成人 | 麻豆国产 | 人人九九精品 | 青青草国产成人av片免费 | 毛片区 | 国产综合久久 | 午夜综合| 亚洲欧美一区二区三区四区 | 欧美日韩亚洲国产精品 | 色av影视| 欧美一区二区网站 | 成人在线免费视频 | 黄色电影免费提供 | 天天干,夜夜操 | 在线久草 | 综合插插插 | 久久亚州综合 | 日韩一二 |