版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1
第1章Mybatis入門框架程序設(shè)計(Java)2學(xué)習(xí)目標(biāo)認(rèn)識數(shù)據(jù)庫編程框架mybatis1搭建第一個使用mybatis框架的程序2理解mybatis框架的運行流程3為mybatis框架配置日志43
1認(rèn)識mybatis-回顧jdbc編程例子1:查詢用戶信息表user所有記錄表名user(用戶信息表)字段2個username用戶名字符串10位主鍵password密碼字符串6位非空要求用jdbc編程,mysql數(shù)據(jù)庫,查詢該表的所有記錄并輸出4
1認(rèn)識mybatis-回顧jdbc編程實施步驟在mysql中創(chuàng)建frame數(shù)據(jù)庫,然后創(chuàng)建user表結(jié)構(gòu)并初始數(shù)據(jù)5
1認(rèn)識mybatis-回顧jdbc編程實施步驟加入驅(qū)動程序mysql-connector-java-5.1.7-bin.jar在java的測試類的main方法中寫入關(guān)鍵代碼//第0步,準(zhǔn)備連接參數(shù)StringURL="jdbc:mysql://localhost:3306/frame";//數(shù)據(jù)庫連接的地址StringLOGIN="root";//登錄數(shù)據(jù)庫的用戶名StringPASSWORD="123456";//登錄數(shù)據(jù)庫的密碼StringDRIVERNAME="com.mysql.jdbc.Driver";//數(shù)據(jù)庫驅(qū)動名//第一步,加載驅(qū)動程序Class.forName(DRIVERNAME);//第二步,連接數(shù)據(jù)庫Connectionconn=DriverManager.getConnection(URL,LOGIN,PASSWORD);//第三步,創(chuàng)建用于執(zhí)行sql語句的對象Statementst=conn.createStatement();//第4步:執(zhí)行sql語句Stringsql="select*fromuser";//第4.1步:編寫sql語句ResultSetrs=st.executeQuery(sql);//第4.2步:運行sql語句while(rs.next()){//第4.3步,處理執(zhí)行結(jié)果Stringusername=rs.getString("username");Stringpassword=rs.getString("password");System.out.println("用戶名:"+username+"密碼:"+password);}//第五步:關(guān)閉數(shù)據(jù)庫conn.close();6
1認(rèn)識mybatis-分析jdbc程序程序代碼全在一個java類中,步驟有第0步,準(zhǔn)備連接參數(shù)第一步,加載驅(qū)動程序第二步,連接數(shù)據(jù)庫第三步,創(chuàng)建用于執(zhí)行sql語句的對象第4步:執(zhí)行sql語句第4.1步:編寫sql語句第4.2步:運行sql語句第4.3步,處理執(zhí)行結(jié)果第五步:關(guān)閉數(shù)據(jù)庫該程序在某些情況下是有缺陷的,造成編寫維護困難數(shù)據(jù)庫連接參數(shù)經(jīng)常發(fā)生變化sql語句編寫特別復(fù)雜且經(jīng)常發(fā)生變化怎么解決呢?1認(rèn)識mybatis-mybatis來了程序部分代碼在java類中第0步,準(zhǔn)備連接參數(shù)第一步,加載驅(qū)動程序第二步,連接數(shù)據(jù)庫第三步,創(chuàng)建用于執(zhí)行sql語句的對象第4步:執(zhí)行sql語句第4.1步:編寫sql語句第4.2步:運行sql語句第4.3步,處理執(zhí)行結(jié)果第五步:關(guān)閉數(shù)據(jù)庫程序部分代碼在xml文件中第0步,準(zhǔn)備連接參數(shù)第4.1步:編寫sql語句框架程序設(shè)計java78
1認(rèn)識mybatis-框架的含義框架中文名稱:框架英文名稱:frame定義:由若干梁和柱連接而成的能承受垂直和水平荷載的平面結(jié)構(gòu)或空間結(jié)構(gòu)。所屬學(xué)科:水利科技(一級學(xué)科);工程力學(xué)、工程結(jié)構(gòu)、建筑材料(二級學(xué)科);工程結(jié)構(gòu)(水利)(三級學(xué)科)9
1認(rèn)識mybatis-框架的含義軟件工程中的框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。簡單的理解,英語的完形填空題10
1認(rèn)識mybatis-框架的好處最大好處就是重用面向?qū)ο笙到y(tǒng)獲得的最大的復(fù)用方式就是框架,一個大的應(yīng)用系統(tǒng)往往可能由多層互相協(xié)作的框架組成。特別地,重用不僅僅重用代碼,還有重用設(shè)計和重用分析簡單從一已有構(gòu)件庫中建立應(yīng)用變得非常容易,因為構(gòu)件都采用框架統(tǒng)一定義的接口,從而使構(gòu)件間的通信簡單。11
1認(rèn)識mybatis-歷史由來是一個優(yōu)秀的數(shù)據(jù)庫編程框架最早:iBATIS=“internet”+“abatis”的組合,本是apache的一個開源項目然后:跳槽到谷歌,從iBatis變成了MyBatis現(xiàn)在:從googlecode到Github
目前提供了三種語言實現(xiàn)的版本,包括:Java、.NET以及Ruby12
1認(rèn)識mybatis-特點1、開源的優(yōu)秀持久層框架2、SQL語句與代碼分離3、面向配置的編程4、良好支持復(fù)雜數(shù)據(jù)映射5、動態(tài)SQL2搭建mybatis程序-任務(wù)描述例子2:使用mybatis框架實現(xiàn)例子1的效果13部分代碼在java類第0步,準(zhǔn)備連接參數(shù)第一步,加載驅(qū)動程序第二步,連接數(shù)據(jù)庫第三步,創(chuàng)建用于執(zhí)行sql語句的對象第4步:執(zhí)行sql語句第4.1步:編寫sql語句第4.2步:運行sql語句第4.3步,處理執(zhí)行結(jié)果第五步:關(guān)閉數(shù)據(jù)庫部分代碼在xml文件中第0步,準(zhǔn)備連接參數(shù)第4.1步:編寫sql語句2搭建mybatis程序-運行環(huán)境搭建下載/mybatis/mybatis-3/releases142搭建mybatis程序-運行環(huán)境搭建加入相關(guān)的jar包mybatis框架:mybatis-3.4.1.jar以上mysql數(shù)據(jù)庫:mysql-connector-java-5.1.7-bin.jar152搭建mybatis程序-xml文件編寫基本配置文件mybatis-config.xml文件頭<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-////DTDConfig3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><!–文件體在這里--></configuration>162搭建mybatis程序-xml文件編寫基本配置文件mybatis-config.xml(在src目錄中)文件體(兩部分)1、數(shù)據(jù)庫連接信息<environmentsdefault="development"> <environmentid="development"> <transactionManagertype="JDBC"/> <dataSourcetype="POOLED"> <propertyname="driver"value="com.mysql.jdbc.Driver"/> <propertyname="url"value="jdbc:mysql://localhost:3306/frame"/> <propertyname="username"value="root"/> <propertyname="password"value="123456"/> </dataSource> </environment></environments>2、sql語句對應(yīng)的xml文件地址<mappers><mapperresource="mapper/UserMapper.xml"/></mappers>172搭建mybatis程序-xml文件編寫sql語句配置文件UserMapper.xml(在src\mapper中)文件頭<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-////DTDMapper3.0//EN""/dtd/mybatis-3-mapper.dtd">182搭建mybatis程序-xml文件編寫sql語句配置文件UserMapper.xml(在src\mapper中)文件體<mappernamespace="/"> <selectid="findAllUser"resultType="hashmap"> SELECT*FROMuser </select></mapper>192搭建mybatis程序-java代碼編寫在app.Test類的main方法中加入如下代碼//1.得到數(shù)據(jù)庫連接InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);//2.得到執(zhí)行sql的對象SqlSessionsqlSession=sqlSessionFactory.openSession();//3.執(zhí)行sql語句List<Map>list=sqlSession.selectList("findAllUser");//4.輸出結(jié)果for(Mapmap:list){System.out.println(map);}//5.關(guān)閉數(shù)據(jù)庫sqlSession.close();203mybatis框架的運行流程1.得到數(shù)據(jù)庫連接1.1加載基本配置文件mybatis-config.xml同時關(guān)聯(lián)加載UserMapper.xml1.2創(chuàng)建數(shù)據(jù)庫連接對象sqlSessionFactory2.得到執(zhí)行sql的對象sqlSession3.使用sqlSession合適的方法執(zhí)行sql配置文件UserMapper.xml中指定的sql語句4.執(zhí)行結(jié)果處理5.關(guān)閉數(shù)據(jù)庫連接對象sqlSession214為mybatis框架配置日志-理由為什么要配置日志能輸出執(zhí)行的sql語句,該語句執(zhí)行的結(jié)果是什么便于調(diào)試程序224為mybatis框架配置日志-如何配置引入日志的jar包/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.ziplog4j-1.2.17.jar234為mybatis框架配置日志-如何配置在src目錄中添加perties文件在文件中加入以下代碼(在控制臺打印出mybatis執(zhí)行的sql信息)log4j.rootLogger=DEBUG,Console#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d[%t]%-5p[%c]-%m%nlog4j.logger.java.sql.ResultSet=INFO.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.Prepare
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年環(huán)保設(shè)備采購與安裝合同標(biāo)的及環(huán)保標(biāo)準(zhǔn)
- 2025版酒吧顧客投訴處理與糾紛解決合同3篇
- 二零二五年度ktv場地租賃及安全責(zé)任合同2篇
- 2024年電子競技賽事組織與贊助協(xié)議
- 2024年簡化版貨物銷售協(xié)議樣本版B版
- 2025版中草藥原材料倉儲物流服務(wù)合同
- 2025版公司協(xié)議收購股權(quán)法律盡職調(diào)查與盡職披露合同3篇
- 保定學(xué)院《藝術(shù)哲學(xué)與社會批判》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025版新型城鎮(zhèn)化工程渣土運輸及環(huán)保合同3篇
- 2024年物流園區(qū)場地租賃與物流金融合作合同3篇
- 腦卒中偏癱患者早期康復(fù)護理現(xiàn)狀(一)
- 模特的基礎(chǔ)訓(xùn)練
- 急救技術(shù)-洗胃術(shù) (2)
- 藥品招商流程
- 混凝土配合比檢測報告
- 100道遞等式計算(能巧算得要巧算)
- 【2019年整理】園林景觀設(shè)計費取費標(biāo)準(zhǔn)
- 完整word版,ETS5使用教程
- 《血流動力學(xué)監(jiān)測》PPT課件.ppt
- 2018年秋季人教版十一冊數(shù)學(xué)第7、8單元測試卷
- 學(xué)生作業(yè)提交與批閱系統(tǒng)的設(shè)計與實現(xiàn)探討
評論
0/150
提交評論