mybatis+spring+springmvc(傳智播客)筆記_第1頁
mybatis+spring+springmvc(傳智播客)筆記_第2頁
mybatis+spring+springmvc(傳智播客)筆記_第3頁
mybatis+spring+springmvc(傳智播客)筆記_第4頁
mybatis+spring+springmvc(傳智播客)筆記_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、我的巴里斯基本課程1 Mybatis入門1.1單獨使用JDBC編程問題摘要1.1.1 JDBC程序public static void main(stringargs)Connection connection=nullprepared statement prepared statement=null;ResultSet resultSet=nullTry /加載數(shù)據(jù)庫驅(qū)動程序class . forname( com . MySQL . JDBC . driver );/驅(qū)動管理類以獲取數(shù)據(jù)庫鏈接connection=driver manager . get connection( JDBC

2、 : MySQL :/localhost :306/my batis?Character encoding=utf-8 、 root 、 MySQL );/SQL語句定義?表示占位符string SQL= select * from user where username=?/導(dǎo)入預(yù)處理statementprepared statement=connection . prepared atement(SQL);/第一個參數(shù)設(shè)定SQL敘述句中參數(shù)的序號(從1開始),第二個參數(shù)設(shè)定參數(shù)值PreparedStatement.setString(1,“王5”);/在數(shù)據(jù)庫上運行SQL執(zhí)行查詢以查詢結(jié)果

3、集resultset=prepared statement . execute query();/遍歷查詢結(jié)果集While(resultSet.next()system . out . print ln(result set . getstring( id ) result set . getstring( username ); catch (exception e)e . printstacktrace(); finally/釋放資源If(resultSet!=null)Try result set . close(); catch (SQLException e) /TODO Auto-

4、generated catch blocke . printstacktrace();If(preparedStatement!=null)Try prepared statement . close(); catch (SQLException e) /TODO Auto-generated catch blocke . printstacktrace();連接(If)!=null)Try connection . close(); catch (SQLException e) /TODO Auto-generated catch blocke . printstacktrace();上面使

5、用JDBC的原始方法(非封裝方法)實現(xiàn)了查詢數(shù)據(jù)庫表記錄的操作。1.1.2 JDBC程式設(shè)計步驟:1、加載數(shù)據(jù)庫驅(qū)動程序2、創(chuàng)建和導(dǎo)入數(shù)據(jù)庫鏈接3、創(chuàng)建JDBC statement對象4、設(shè)置SQL語句5、設(shè)定SQL敘述句的參數(shù)(使用preparedStatement)6、通過statement執(zhí)行SQL并獲取結(jié)果7、解決SQL執(zhí)行結(jié)果8、釋放資源(resultSet、preparedstatement、connection)1.1.3 JDBC問題概述如下:1、創(chuàng)建數(shù)據(jù)庫鏈接、禁用經(jīng)常導(dǎo)致系統(tǒng)資源浪費的功能,以及使用影響系統(tǒng)性能的數(shù)據(jù)庫連接池,都可以解決此問題。2、SQL語句硬編碼在代碼中,

6、不易維護,實際應(yīng)用SQL更改可能會更大,Sql更改需要更改Java代碼。3、SQL語句中的where條件可能很多或很少,即使修改了SQL,也修改了代碼,因此有硬編碼,可以使用preparedStatement將參數(shù)傳遞到占位符。4、結(jié)果集解析有硬編碼(查詢列名),由于SQL更改,解析代碼發(fā)生了更改,系統(tǒng)維護起來不容易,將數(shù)據(jù)庫記錄封裝到POJO對象解析中更方便。1.2 MyBatis簡介MyBatis于2010年從Apache software foundation遷移到Google code,通過將Apache的開源項目ibatis重命名為MyBatis,對ibatis進行了一些改進。MyB

7、atis是封裝JDBC數(shù)據(jù)庫操作過程的優(yōu)秀持久性層框架,使開發(fā)人員無需專注于SQL本身,并處理JDBC復(fù)雜進程代碼,如驅(qū)動程序注冊、連接創(chuàng)建、statement生成、參數(shù)手動設(shè)置、結(jié)果集搜索等。Mybatis配置要通過XML或標注執(zhí)行的各種statement(statement、preparedStatemnt、CallableStatement),通過Java對象和statement的SQL映射生成最終執(zhí)行SQL語句,然后在mybatis框架中1.3 Mybatis體系結(jié)構(gòu)1,配置mybatisSqlMapConfig.xml,此文件是mybatis的全局配置文件,用于配置mybatis的執(zhí)

8、行環(huán)境等信息。Mapper.xml文件是SQL映射文件,其中包含操作數(shù)據(jù)庫的SQL語句。必須從SqlMapConfig.xml加載此文件。2、使用配置信息(例如mybatis環(huán)境)將SqlSessionFactory配置為會話工廠3、會話工廠創(chuàng)建的sqlSession,即會話,任務(wù)數(shù)據(jù)庫必須通過sqlSession完成。4、在mybatis下,自定義了具有基本執(zhí)行器和緩存執(zhí)行器兩種實現(xiàn)的執(zhí)行器接口操作數(shù)據(jù)庫。5,Mapped Statement也是封裝mybatis配置信息和SQL映射信息的基本軟件包對象。Mapper.xml文件中的SQL對應(yīng)于Mapped statement對象,SQL的i

9、d是Mapped Statement的id。6、Mapped Statement定義SQL執(zhí)行輸入?yún)?shù),該參數(shù)將在HashMap、默認類型、POJO和Executor通過Mapped Statement執(zhí)行SQL之前輸入的Java對象映射到SQL。輸入?yún)?shù)映射是在JDBC編程中為preparedStatement設(shè)置參數(shù)。7,Mapped Statement定義SQL執(zhí)行輸出結(jié)果,其中HashMap、默認類型、POJO和Executor通過Mapped Statement執(zhí)行SQL后,將輸出映射到Java對象。輸出結(jié)果映射過程與在JDBC編程中解析結(jié)果的過程相同。1.4 mybatis下載My

10、baits中的代碼由管理。地址:/my batis/my batis-3/releasesMybatis-3.2.7.jar - mybatis的核心程序包Li b - mybatis的依賴性包Mybatis-3.2.7.pdf - mybatis用戶指南創(chuàng)建1.5 MySQL數(shù)據(jù)庫導(dǎo)入Sql_table.sql和導(dǎo)入sql_data.sql腳本:以下是:1.6 Mybatis啟動程序1.6.1要求實施以下功能:根據(jù)用戶id查詢用戶信息根據(jù)用戶名模糊地查詢用戶信息列表添加用戶更新用戶刪除用戶1.6.2步驟1:創(chuàng)建Java工程使用Eclips

11、e創(chuàng)建Java項目,JDK使用1.7.0_72。1.6.3第二步:訂閱jar程序包添加Mybatis核心軟件包、相關(guān)軟件包和數(shù)據(jù)驅(qū)動程序軟件包。1.6.4步驟3:log4j . properties在classpath下創(chuàng)建perties,如下所示:# Global logging configurationLog4j.rootLogger=DEBUG,stdout#控制臺輸出.log4j . appender . stdout=org . Apache . log4j . console appenderlog4j . appender . stdout . layout=

12、org . Apache . log4j . patternlayoutlog4j . appender . stdout . layout . conversion pattern=% 5p% t-% m % n默認情況下,Mybatis使用log4j作為輸出日志信息。步驟1 . 6 . 5 4:sqlmapconfig . XML在classpath中生成SqlMapConfig.xml,如下所示:-嗯?Xml版本= 1.0 encoding= utf-8 ?SqlMapConfig.xml是mybatis核心配置文件。頂部文件的配置內(nèi)容是數(shù)據(jù)源、事務(wù)管理。步驟1 . 6 . 6 5:po類Po類用作SQL映射中的mybatis,po類通常對應(yīng)于數(shù)據(jù)庫表,User.java為:Public class user專用int idPrivate String username/用戶名專用字符串sex/性別Private Date birthday/生日Private String address/地址Get/set.1.6.7步驟6:編程查詢.1映射文件:在Classpath的sqlmap目錄中創(chuàng)建SQL映射文件Users.xml。-嗯?Xml版本= 1.

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論