亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于mybatis的面向數(shù)據(jù)庫自動生成技術(shù)

        2014-07-01 01:13:34黃艷秀
        河南科技 2014年4期
        關(guān)鍵詞:配置文件開發(fā)人員調(diào)用

        黃艷秀

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

        基于mybatis的面向數(shù)據(jù)庫自動生成技術(shù)

        黃艷秀

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

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

        持久;映射;數(shù)據(jù)庫連接;接口;耦合度;封裝

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

        1 mybatis介紹

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

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

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

        1.3 基礎(chǔ)支撐層:負(fù)責(zé)最基礎(chǔ)的管理功能,包括數(shù)據(jù)庫連接和事務(wù)管理、數(shù)據(jù)庫配置加載和緩存處理等內(nèi)容,這些本應(yīng)該是最基礎(chǔ)的東西,將他們合成一個最基本的組件,為上層的數(shù)據(jù)處理層提供服務(wù)。

        2 項目中mybatis應(yīng)用方法

        2.1 數(shù)據(jù)庫配置

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

        圖1

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

        2.2 XML文件配置

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

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

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

        其中jdbcConnection標(biāo)簽是數(shù)據(jù)配置,table是表和類配置,名字要一一對應(yīng)。

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

        2.3 命令運行

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

        3 應(yīng)用結(jié)果

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

        圖2

        4 總結(jié)

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

        [1]李澎林,朱國清,吳斌.基于iBatis SQL Map的數(shù)據(jù)持久層實現(xiàn)[J].應(yīng)用研究,2008

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

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

        TP311

        A

        1003-5168(2014)04-0021-02

        猜你喜歡
        配置文件開發(fā)人員調(diào)用
        提示用戶配置文件錯誤 這樣解決
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        核電項目物項調(diào)用管理的應(yīng)用研究
        Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        忘記ESXi主機root密碼怎么辦
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        讓W(xué)indows 10進入開發(fā)者模式
        電腦迷(2015年12期)2015-04-29 23:22:51
        后悔了?教你隱藏開發(fā)人員選項
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        亚洲精品国产综合久久| 91精彩视频在线观看| 精品欧洲AV无码一区二区免费| 韩国黄色三级一区二区| 国产无套中出学生姝| 18女下面流水不遮图| 亚洲AV成人无码国产一区二区| 午夜精品一区二区三区视频免费看 | 精品蜜臀国产av一区二区| 国产亚洲精品久久久久5区| 久久亚洲精品11p| 综合色天天久久| 极品少妇一区二区三区四区视频| 精品无码人妻夜人多侵犯18| 久久无码人妻精品一区二区三区| 国产美女高潮流白浆在线观看| 视频国产一区二区在线| 精品国产综合区久久久久久| 亚洲av无码av吞精久久| 日韩人妻无码精品系列专区无遮| 成人av毛片免费大全| 野外亲子乱子伦视频丶| 日本欧美小视频| 亚洲天堂免费成人av| 国产在线视频一区二区天美蜜桃| 日本亚洲色大成网站www久久| 国产一区二区丰满熟女人妻| 手机在线免费观看的av| 国语自产偷拍在线观看| 亚洲欧美国产日韩天堂在线视| 中文字幕日韩人妻在线| 日本一区二区三区免费精品| 国产精品久久久久久久久免费| 国产午夜激情视频自拍| 亚洲女同系列在线观看| 丰满少妇高潮惨叫久久久一| 欧美成人专区| 少妇呻吟一区二区三区| 久久久久人妻一区二区三区| 伊伊人成亚洲综合人网7777| 日韩精品不卡一区二区三区|