999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于mybatis的面向數據庫自動生成技術

2014-07-01 01:13:34黃艷秀
河南科技 2014年4期
關鍵詞:數據庫

黃艷秀

(河南省人才交流中心,河南鄭州 450003)

基于mybatis的面向數據庫自動生成技術

黃艷秀

(河南省人才交流中心,河南鄭州 450003)

基于在項目開發(fā)中減少代碼對數據庫語言依賴性的目的,采用mybatis框架,通過自動生成類、接口和代碼,結合Spring翻轉注入的工廠方法,完成了對程序員的解放,降低了代碼耦合度,增加項目的可移植性。

持久;映射;數據庫連接;接口;耦合度;封裝

在以JAVA語言為基礎的面向對象設計的項目中,肯定需要對數據庫進行連接。而JAVA中對象類都需要在數據庫中有相對應的表,所以就需要去編寫每一個類的每一個屬性的數據庫語句。但是在項目建設過程中會經常對對象類或者數據庫中的表進行修改,那么每一次修改都需要再去修改相對應的數據庫語句,那么每一次工作中,代碼量是十分巨大的。Mybatis在這里向大家提供了一種可以根據數據庫中的表自動生成數據庫和java類的方法,十分便捷。

1 mybatis介紹

Mybatis本來是阿帕奇公司(即apache,tomcat出品公司)研究的一個面向廣大用戶的開源項目“ibatis”。其本意是Internet和abatis兩個單詞的組合,是提供給大家的一個持久層框架[1]。后來apache公司將其轉讓給了谷歌公司,并且更名為mybatis。Mybatis自動生成方式替代了幾乎所有的JDBC代碼和參數設置以及結果搜索。它通過簡單的XML文件對原始映射和屬性進行配置,直接生成接口和JAVA對象的數據庫表或者將數據庫表生成接口和JAVA類。Mybatis主要有三層主要功能框架:

1.1 API接口層:將自動生成的JDBC代碼封裝提供給生成類以外的類或程序使用的接口API,開發(fā)人員通過這些本地API對數據庫進行操作。接口層一接收到外來調用請求就會調用數據處理層來完成具體的數據處理。

1.2 數據處理層:有具體的JDBC代碼,是接口層接口的具體化代碼,包括具體的SQL查找、解析、執(zhí)行和執(zhí)行結果反應處理等功能。它主要的目的是根據調用的API請求轉為具體的代碼,然后由代碼完成一次數據庫操作。

1.3 基礎支撐層:負責最基礎的管理功能,包括數據庫連接和事務管理、數據庫配置加載和緩存處理等內容,這些本應該是最基礎的東西,將他們合成一個最基本的組件,為上層的數據處理層提供服務。

2 項目中mybatis應用方法

2.1 數據庫配置

在底層數據庫要將每一個需要調用的類配置成一個表的形式,并將數據類型和長度按照需要配置,如圖1。

圖1

在表中,一定只能配置一個主健,并且將主鍵的配置完成。如圖中,id即為主鍵,且每一個屬性名的類型都一定要選擇清除,將長度配置完畢。

2.2 XML文件配置

Mybatis基本只需要兩個最主要的XML文件,一個是mybatis-config.xml,一個是generatorConfig.xml,第一個是mybatis的功能配置文件,第二個是mybatis自動生成功能對表和類以及接口的配置文件。但是一般在項目中,mybatis是和Spring框架結合使用的,在Spring框架的applicationContext-database.xml配置文件中,要將mybatis配置進去,,代碼如下:

可以看到,Spring也是講mybatis功能當做一種反轉注入的類工廠(Factory),用以數據(類)的調用。這樣,mybatis就和Spring框架結合在一起了。在mybatis-config.xml中,將自動生成的所有接口的JDBC語言實現代碼所在的文件配置進來,這樣,mybatis工廠就可以自動查詢到每一個接口及其代碼。其方式如下:

下面重點介紹一下generatorConfig.xml文件,在其中,要將數據庫的連接方式、賬號密碼等內容配置好,將自動生成的接口和JDBC語句所在文件夾配置好,還要將底層數據庫的表和相對應的類配對好,寫在一個table標簽中,如下:

其中jdbcConnection標簽是數據配置,table是表和類配置,名字要一一對應。

在下一部分命令運行中,所有的數據庫表自動生成類、接口和數據庫語句都是通過generatorConfig.xml配置好后,才能自動生成的,在以后項目建設的日子里,每當你對類和數據庫進行了修改后,都只需要運行命令,就可自動生成文件,不再需要去人工修改代碼、參數和配置[2]。

2.3 命令運行

在開發(fā)環(huán)境的服務器中,配置一句mybatis-generator: generate,運行,即可在配置文件所寫的文件位置中自動生成需要的類、API接口和代碼。這對于開發(fā)人員來講,是一個解放程序員的進步。

3 應用結果

在上面的命令運行后,就在項目對應位置生成文件如圖2。其中dao.*中的*Mapper.java是所有關于device這個類的API接口,包括增刪改查和計數這些功能,而且每種還根據用戶需要提供了不同種類的接口。在model.*中主要是生成了數據庫中table所對應的java類和類的example,用于類的調用和注入值等功能。Map.*中是dao*中接口的數據庫代碼化[3]。其中把所有提供的接口和基礎連接都已數據庫語言表達出來。

圖2

4 總結

Mybatis技術對DAO層進行了封裝,使得開發(fā)人員不需要在做后臺和頁面開發(fā)的同時還要去關系數據庫的鏈接和調用。在配置文件中將SQL語句自動生成且封裝,避免了項目遷移時對數據庫的依賴性,降低了代碼的耦合度,增加了項目的可移植性。同時,又能讓你了解到底層數據庫的搭建,不至于對數據庫完全不知曉。對J數據庫語言的封裝和API的生成,減少了程序員在開發(fā)過程中使用JDBC的機會,釋放了大量開發(fā)時間,解放了開發(fā)人員。

[1]李澎林,朱國清,吳斌.基于iBatis SQL Map的數據持久層實現[J].應用研究,2008

[2]夏汛,陳玲.基于Spring MVC和Mybatis的動態(tài)表單設計[J].計算機光盤軟件與應用,2012,20.

[3]徐雯,高建華.基于Spring MVC及MyBatis的Web應用框架研究[J].微型電腦應用,2012.7.

TP311

A

1003-5168(2014)04-0021-02

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 日本午夜精品一本在线观看| 久久免费观看视频| 国产精品美人久久久久久AV| 国产亚洲高清在线精品99| 亚洲欧美成人影院| 亚洲精品无码人妻无码| 免费毛片全部不收费的| 日韩精品一区二区深田咏美 | 精品一区二区三区自慰喷水| 亚洲国产成人精品一二区| 久久黄色毛片| a级毛片免费看| 一级成人a做片免费| 欧美亚洲第一页| 毛片久久久| 无码一区中文字幕| 亚洲成人动漫在线| 国产免费a级片| 久久77777| 国产性生交xxxxx免费| 无码综合天天久久综合网| 久久夜色撩人精品国产| 欧美精品二区| 欧洲在线免费视频| 久久久久亚洲av成人网人人软件| 色综合天天娱乐综合网| 四虎精品国产永久在线观看| 欧美性猛交一区二区三区 | 欧美视频在线第一页| 午夜精品区| 日韩 欧美 小说 综合网 另类| 8090成人午夜精品| 国产亚卅精品无码| 爽爽影院十八禁在线观看| 手机在线国产精品| 久久无码av三级| 日韩欧美中文字幕一本| 91欧美亚洲国产五月天| 伊人无码视屏| 亚洲日产2021三区在线| 亚洲国产成人精品一二区| 国产精品福利社| 欧美国产在线精品17p| av一区二区三区高清久久| 国产精品va免费视频| 欧美a级完整在线观看| 人妻丰满熟妇AV无码区| 国产区人妖精品人妖精品视频| 最新国产你懂的在线网址| 国产精品毛片一区视频播| 天天做天天爱夜夜爽毛片毛片| 国产人人射| 高清免费毛片| 秋霞一区二区三区| 在线欧美国产| 久久中文字幕2021精品| 伊人久久大线影院首页| 一本色道久久88亚洲综合| 嫩草国产在线| 欧美综合中文字幕久久| 五月婷婷综合色| 青草91视频免费观看| 日韩人妻无码制服丝袜视频| 91久久精品日日躁夜夜躁欧美| 欧美成人午夜视频免看| 亚洲精品色AV无码看| 亚洲综合亚洲国产尤物| 亚洲青涩在线| 亚洲国产av无码综合原创国产| 国产91线观看| 日本免费高清一区| 人妻中文久热无码丝袜| 国产香蕉一区二区在线网站| 国产成人啪视频一区二区三区| 精品少妇人妻一区二区| 中文字幕在线不卡视频| 91在线精品免费免费播放| 伊人狠狠丁香婷婷综合色| 男女性午夜福利网站| 欧美日韩另类在线| 婷五月综合| 91精品国产情侣高潮露脸|