第一篇:黑馬程序員mybatis教程第一天:課程安排和原生態(tài)jdbc程序中問(wèn)題總結(jié)
課程安排:
mybatis和springmvc通過(guò)訂單商品 案例驅(qū)動(dòng)
第一天:基礎(chǔ)知識(shí)(重點(diǎn),內(nèi)容量多)
對(duì)原生態(tài)jdbc程序(單獨(dú)使用jdbc開發(fā))問(wèn)題總結(jié)
mybatis框架原理(掌握)
mybatis入門程序
用戶的增、刪、改、查
mybatis開發(fā)dao兩種方法:
原始dao開發(fā)方法(程序需要編寫dao接口和dao實(shí)現(xiàn)類)(掌握)
mybaits的mapper接口(相當(dāng)于dao接口)代理開發(fā)方法(掌握)
mybatis配置文件SqlMapConfig.xml mybatis核心:
mybatis輸入映射(掌握)
mybatis輸出映射(掌握)
mybatis的動(dòng)態(tài)sql(掌握)
第二天:高級(jí)知識(shí)
訂單商品數(shù)據(jù)模型分析
高級(jí)結(jié)果集映射(一對(duì)一、一對(duì)多、多對(duì)多)
mybatis延遲加載
mybatis查詢緩存(一級(jí)緩存、二級(jí)緩存)
mybaits和spring進(jìn)行整合(掌握)
mybatis逆向工程
對(duì)原生態(tài)jdbc程序中問(wèn)題總結(jié)
環(huán)境
java環(huán)境:jdk1.7.0_72 eclipse:indigo mysql:5.1
創(chuàng)建mysql數(shù)據(jù)
導(dǎo)入下邊的腳本:
sql_table.sql:記錄表結(jié)構(gòu)
sql_data.sql:記錄測(cè)試數(shù)據(jù),在實(shí)際企業(yè)開發(fā)中,最后提供一個(gè)初始化數(shù)據(jù)腳本
jdbc程序
使用jdbc查詢mysql數(shù)據(jù)庫(kù)中用戶表的記錄。
創(chuàng)建java工程,加入jar包:
數(shù)據(jù)庫(kù)驅(qū)動(dòng)包(mysql5.1)
上邊的是mysql驅(qū)動(dòng)。下邊的是oracle的驅(qū)動(dòng)。
程序代碼:
問(wèn)題總結(jié)
1、數(shù)據(jù)庫(kù)連接,使用時(shí)就創(chuàng)建,不使用立即釋放,對(duì)數(shù)據(jù)庫(kù)進(jìn)行頻繁連接開啟和關(guān)閉,造成數(shù)據(jù)庫(kù)資源浪費(fèi),影響 數(shù)據(jù)庫(kù)性能。設(shè)想:使用數(shù)據(jù)庫(kù)連接池管理數(shù)據(jù)庫(kù)連接。
2、將sql語(yǔ)句硬編碼到j(luò)ava代碼中,如果sql 語(yǔ)句修改,需要重新編譯java代碼,不利于系統(tǒng)維護(hù)。
設(shè)想:將sql語(yǔ)句配置在xml配置文件中,即使sql變化,不需要對(duì)java代碼進(jìn)行重新編譯。
3、向preparedStatement中設(shè)置參數(shù),對(duì)占位符號(hào)位置和設(shè)置參數(shù)值,硬編碼在java代碼中,不利于系統(tǒng)維護(hù)。
設(shè)想:將sql語(yǔ)句及占位符號(hào)和參數(shù)全部配置在xml中。
4、從resutSet中遍歷結(jié)果集數(shù)據(jù)時(shí),存在硬編碼,將獲取表的字段進(jìn)行硬編碼,不利于系統(tǒng)維護(hù)。
設(shè)想:將查詢的結(jié)果集,自動(dòng)映射成java對(duì)象。