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