《JavaEE框架技術(shù)》課件1 MyBatis入門_第1頁
《JavaEE框架技術(shù)》課件1 MyBatis入門_第2頁
《JavaEE框架技術(shù)》課件1 MyBatis入門_第3頁
《JavaEE框架技術(shù)》課件1 MyBatis入門_第4頁
《JavaEE框架技術(shù)》課件1 MyBatis入門_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1

第1章Mybatis入門框架程序設(shè)計(Java)2學(xué)習(xí)目標認識數(shù)據(jù)庫編程框架mybatis1搭建第一個使用mybatis框架的程序2理解mybatis框架的運行流程3為mybatis框架配置日志43

1認識mybatis-回顧jdbc編程例子1:查詢用戶信息表user所有記錄表名user(用戶信息表)字段2個username用戶名字符串10位主鍵password密碼字符串6位非空要求用jdbc編程,mysql數(shù)據(jù)庫,查詢該表的所有記錄并輸出4

1認識mybatis-回顧jdbc編程實施步驟在mysql中創(chuàng)建frame數(shù)據(jù)庫,然后創(chuàng)建user表結(jié)構(gòu)并初始數(shù)據(jù)5

1認識mybatis-回顧jdbc編程實施步驟加入驅(qū)動程序mysql-connector-java-5.1.7-bin.jar在java的測試類的main方法中寫入關(guān)鍵代碼//第0步,準備連接參數(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認識mybatis-分析jdbc程序程序代碼全在一個java類中,步驟有第0步,準備連接參數(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認識mybatis-mybatis來了程序部分代碼在java類中第0步,準備連接參數(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步,準備連接參數(shù)第4.1步:編寫sql語句框架程序設(shè)計java78

1認識mybatis-框架的含義框架中文名稱:框架英文名稱:frame定義:由若干梁和柱連接而成的能承受垂直和水平荷載的平面結(jié)構(gòu)或空間結(jié)構(gòu)。所屬學(xué)科:水利科技(一級學(xué)科);工程力學(xué)、工程結(jié)構(gòu)、建筑材料(二級學(xué)科);工程結(jié)構(gòu)(水利)(三級學(xué)科)9

1認識mybatis-框架的含義軟件工程中的框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。簡單的理解,英語的完形填空題10

1認識mybatis-框架的好處最大好處就是重用面向?qū)ο笙到y(tǒng)獲得的最大的復(fù)用方式就是框架,一個大的應(yīng)用系統(tǒng)往往可能由多層互相協(xié)作的框架組成。特別地,重用不僅僅重用代碼,還有重用設(shè)計和重用分析簡單從一已有構(gòu)件庫中建立應(yīng)用變得非常容易,因為構(gòu)件都采用框架統(tǒng)一定義的接口,從而使構(gòu)件間的通信簡單。11

1認識mybatis-歷史由來是一個優(yōu)秀的數(shù)據(jù)庫編程框架最早:iBATIS=“internet”+“abatis”的組合,本是apache的一個開源項目然后:跳槽到谷歌,從iBatis變成了MyBatis現(xiàn)在:從googlecode到Github

目前提供了三種語言實現(xiàn)的版本,包括:Java、.NET以及Ruby12

1認識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步,準備連接參數(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步,準備連接參數(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論