一、不用純jdbc的原因,即缺點(diǎn)。
1、數(shù)據(jù)庫(kù)理解,使用時(shí)創(chuàng)建,不用時(shí)釋放,會(huì)對(duì)數(shù)據(jù)庫(kù)進(jìn)行頻繁的鏈接開啟和關(guān)閉,造成數(shù)據(jù)庫(kù)的資源浪費(fèi),影響數(shù)據(jù)庫(kù)的性能。
設(shè)想:使用數(shù)據(jù)庫(kù)的連接池。
2、將sql語(yǔ)句硬編碼到j(luò)ava代碼中,不利于系統(tǒng)維護(hù)。
設(shè)想:將sql放到配置文件中。
3、向preparedstatement中設(shè)置參數(shù),對(duì)占位符位置和設(shè)置參數(shù)值,硬編碼在Java代碼中,不利于系統(tǒng)維護(hù)。
設(shè)想:將sql語(yǔ)句及占位符配置到xml中。
4、從resultset中便利結(jié)果集時(shí),存在硬編碼,將獲取表的字段進(jìn)行硬編碼,不利于系統(tǒng)維護(hù)。
設(shè)想;將結(jié)果集,自動(dòng)映射成Java對(duì)象
二、mybatis是什么
1、mybatis讓程序員將主要精力放在sql上,通過(guò)mybatis提供的映射方式,自由靈活生成滿足需要的sql語(yǔ)句。
2、mybatis可以將輸入?yún)?shù)自動(dòng)映射,可以將結(jié)果集映射為Java對(duì)象,并且sql相對(duì)自由,不想hibernate那樣看不到sql。
3、mybatis需要一個(gè)SqlMapConfig.xml,它是mybatis的全局配置文件,其中包括了數(shù)據(jù)庫(kù)連接池,配置了數(shù)據(jù)源、事務(wù)等。
4、還需要一個(gè)SQLMap配置文件,它配置了映射關(guān)系(配置sql語(yǔ)句),sql語(yǔ)句要寫在這個(gè)配置文件里,其實(shí)就是配置了一個(gè)statement,避免了sql語(yǔ)句硬編碼到Java源文件中。后面會(huì)詳細(xì)介紹這個(gè)配置文件的使用。
5、SqlsessionFactory是mybatis中生成Sqlsession的工廠,操作數(shù)據(jù)庫(kù)。
mybatis框架結(jié)構(gòu)是把sql語(yǔ)句的映射文件加載到SQLMapConfig中去,然后SqlSessionFactory加載SQLMapConfig后生成SQLSession,SQLSession來(lái)執(zhí)行Statement。
三、構(gòu)建一個(gè)mybatis工程。
1.所需要的jar包
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26