軟件架構設計實踐- 基于SSM框架 課件 第10、11章 單表的CRUD操作、多表關聯(lián)映射_第1頁
軟件架構設計實踐- 基于SSM框架 課件 第10、11章 單表的CRUD操作、多表關聯(lián)映射_第2頁
軟件架構設計實踐- 基于SSM框架 課件 第10、11章 單表的CRUD操作、多表關聯(lián)映射_第3頁
軟件架構設計實踐- 基于SSM框架 課件 第10、11章 單表的CRUD操作、多表關聯(lián)映射_第4頁
軟件架構設計實踐- 基于SSM框架 課件 第10、11章 單表的CRUD操作、多表關聯(lián)映射_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件架構設計實戰(zhàn)——基于SSM框架Software

Architecture

Design

Practice

Based

on

SSM

Framework第10章單表的CRUD操作123數據查詢操作使用insert元素添加數據使用delete元素刪除數據4使用update元素修改數據5使用getMapper和工具類簡化代碼編寫數據查詢操作查詢數據庫中的數據并交由面向對象的程序設計語言進行處理是數據庫操作中最為常見的操作。在第9章的“第一個MyBatis應用程序”中存在Student對象的兩個屬性沒有封裝成功的問題,在本章中將進行詳細講解。11.1結果映射resultMap所謂結果映射就是讓數據表的字段名稱與Java實體類的屬性名稱進行一一關聯(lián)匹配的機制,以便于MyBatis查完數據庫后能夠將關系數據庫的查詢結果正確地封裝為Java對象。1.1結果映射resultMapresultMap元素是對象關系映射文件<mapper>的子元素,主要完成對象屬性與數據表字段之間的關系對應,方便數據查詢使用。1.1結果映射resultMap1.1結果映射resultMap1.1結果映射resultMap針對第9章的“第一個MyBatis應用程序”中Student的屬性stuId和stuName沒有封裝成功的問題,修改StudentMapper.xml文件,在其中加入如下代碼:<!--定義結果集映射,Student類屬性與數據表t_student字段--><resultMapid="studentResultMap"type="com.example.ssm.pojo.Student"><idproperty="stuId"column="stu_id"/><resultproperty="stuName"column="stu_name"/><resultproperty="age"column="age"/><resultproperty="sex"column="sex"/><resultproperty="email"column="email"/></resultMap>1.2使用selectList方法查詢使用selectOne查詢方法,能夠從數據庫中獲取一條數據并封裝成為一個POJO對象。但是實際項目開發(fā)中,很多時候通過查詢語句返回的是一個結果集(二維表),MyBatis框架提供了selectList查詢方法,其完整描述形式有三種:<E>List<E>selectList(Stringstatement)<E>List<E>selectList(Stringstatement,Objectparameter)<E>List<E>selectList(Stringstatement,Objectparameter,RowBoundsrowBounds)1.2使用selectList方法查詢其中,參數statement是在配置文件中定義的<select.../>元素的id,parameter是查詢所需的參數,通常是對象或者Map,rowBounds對象用于分頁,它的兩個屬性:offset指查詢的當前頁數;limit指當前頁顯示多少條數據。返回執(zhí)行SQL語句查詢結果的泛型對象的集合。1.2使用selectList方法查詢下面以只包含一個參數的selectList方法為例,結合新的需求“查詢用戶名中含字母‘a’的學員信息”,進一步完善“第一個MyBatis應用程序”。在StudentMapper.xml文件中添加如下代碼。1.3多參數查詢在“第一個MyBatis應用程序”中,使用selectOne方法,傳入了一個整數型參數100,在使用selectList方法中,沒有傳入參數,那么在多條件查詢中,需要傳入多個參數,該如何處理呢?這就需要使用到查詢方法中的第二參數Objectparameter,在這里的Object可以使用Map類型,添加多個鍵-值對,完成多參數的傳遞。1.3多參數查詢這里添加新的需求“查詢年齡大于19歲的男學員”,來完成多參數查詢的實例講解。在StudentMapper.xml文件中添加如下代碼。1.4動態(tài)查詢查詢條件的多變性在很多系統(tǒng)中都有所體現,例如購物網站中的商品篩選,篩選條件有很多,每個人選的條件也都不一樣,那么最后拼接生成的SQL查詢語句也不相同,在傳統(tǒng)的JDBC或其它類似的開發(fā)框架中,開發(fā)人員通常需要手動拼接SQL語句,在拼接時要確保添加了必要的空格、關鍵字等,還要注意去掉列表最后一個列名的逗號等諸多需要考慮的細節(jié)問題。1.4動態(tài)查詢MyBatis提供了強大的動態(tài)SQL功能,能夠根據傳遞的參數不同,靈活的生成SQL語句,完成不同條件組合的查詢任務。動態(tài)SQL大大減少了編寫代碼的工作量,更體現了MyBatis的靈活性、高度可配置性和可維護性。1.4動態(tài)查詢1.if元素MyBatis框架中提供的if元素類似于Java程序設計中的if語句,是MyBatis動態(tài)SQL中最常用的判斷語句。使用if元素可以節(jié)省許多拼接SQL的工作,而把主要精力集中在Java代碼的編寫和XML配置文件的維護上。1.4動態(tài)查詢2.where元素在if元素的例子當中,讀者不難發(fā)現,在where的后面需要手動加入“1=1”的子句,原因就是為了避免當if查詢條件都不成立時,出現SQL語句錯誤的問題。其實在MyBatis中提供了where元素,就是為了避免在多條件判斷的時候,出現關鍵字的冗余、缺失等情況。where元素主要用來簡化SQL語句中的條件判斷,可以自動處理AND/OR條件,語法如下所示。1.4動態(tài)查詢3.choose元素與if元素的功能類似,choose元素同樣用于條件判斷,但不同的是choose元素適用于多個判斷條件的場景,類似于Java程序設計中的switch語言。在choose元素中包含when和otherwise兩個子元素,一個choose元素中至少包含一個when子元素,0個或1個otherwise子元素,與Java語言中的switch-case-default語句相同,都進行“多選一”的條件判斷。當應用程序中業(yè)務關系比較復雜的時候,MyBatis可通過choose元素來動態(tài)控制SQL語言的生成。1.4動態(tài)查詢動態(tài)語句choose-when-otherwise語法如下所示。1.4動態(tài)查詢4.trim元素trim元素用于刪除拼接SQL語句中多余的關鍵字,它可以直接實現where元素的功能,在前面的SQL查詢語句中“where1=1”就是為了避免與后面的語句中“and”直接拼接。通過trim元素能夠在SQL語句拼接的過程中根據參數的傳遞情況自動刪除或者增加某些關鍵字。trim元素包含4個屬性1.4動態(tài)查詢5.foreach元素在前面已經介紹了Mybatis框架提供的if、where、trim、choose等元素,來處理動態(tài)查詢語句中的一些簡單操作。對于一些SQL查詢語句中含有in條件,需要迭代條件集合來生成的情況,則可以使用foreach元素來實現SQL條件的迭代。1.4動態(tài)查詢foreach元素用于循環(huán)語句,它很好的支持了集合操作,如List、Set、Map接口的數據集合ArrayList、HashSet、LinkedHashMap等,并對其提供遍歷的功能,語法格式如下所示。1.4動態(tài)查詢foreach元素的各個屬性具體含義1.4動態(tài)查詢6.bind元素在實際應用開發(fā)當中,由于不同的數據庫支持的SQL語法略有不同,例如:字符串連接在MySQL數據庫中采用concat函數、而Oracle數據庫中采用符號“||”等。如果需要更換數據庫,那么程序中的相應SQL語句就需要重寫,這就給項目的維護帶來了不便性,項目的可移植性也會大打折扣。此時,可以通過bind元素來解決此類數據庫之間的兼容性問題。1.4動態(tài)查詢bind元素將OGNL表達式的值綁定到一個變量中,通過bind元素對變量進行賦值,屏蔽各種數據庫之間的差異,讓SQL語句的引用變得更加簡單。bind元素有兩個屬性。name:給對應參數取的別名。value:對應傳入實體類的某個字段,可以進行字符串拼接等特殊處理。使用insert元素添加數據在上一節(jié)中介紹了MyBatis提供的各種數據查詢操作,在本節(jié)中將介紹insert元素的使用方法,在MyBatis中通過insert能夠定義插入語句,執(zhí)行數據插入操作,其返回值為成功插入數據庫記錄的行數。21.4動態(tài)查詢1.4動態(tài)查詢使用insert元素向數據表插入數據時,一般都需要往數據表的多個字段同時插入數據,在這里就需要使用到集合數據類型,如Map、List、JavaBean等。在向數據表插入數據的時候,數據表的主鍵既可以自增長也可以是非自增長,在使用insert元素的時候,需要進行相應的設置,下面對這兩種情況進行分別進行介紹。2.1主鍵由數據庫自增長在項目開發(fā)中,有很多數據庫都支持數據表主鍵的自增長,例如MySQL、SQLServer等數據庫表可以采用自動遞增的字段作為其主鍵,當向這樣的數據庫表插入數據時,即使不指定自增主鍵的值,數據庫也會根據自增規(guī)則自動生成主鍵并插入到表中。2.2主鍵非自增長在項目開發(fā)中,如果沒有設置數據表主鍵的自增長,或者數據庫不支持主鍵的自增長(例如Oracle),就需要在項目開發(fā)中使用insert元素的子元素selectKey,手動進行主鍵的增長設置,selectKey元素的語法格式如下所示。2.2主鍵非自增長selectKey元素中屬性說明如下:keyProperty:用于指定主鍵值對應的POJO類的屬性。resultType:表示SQL查詢語句所返回值的數據類型,這是用的Java語言中的數據庫類型,例如:Integer、String等。order:該屬性取值可以為BEFORE或AFTER。BEFORE表示先執(zhí)行selectKey元素內的語句,再執(zhí)行插入語句;AFTER表示先執(zhí)行插入語句再執(zhí)行selectKey元素內的語句。2.2主鍵非自增長在上述代碼先通過selectKey元素,從數據表t_student中查詢出stu_id的最大值并加1,作為傳入參數student中stuId的屬性值,然后再生成insert語句,并插入主鍵值。使用delete元素刪除數據MyBatis框架用delete元素來定義delete語句,執(zhí)行刪除操作。當MyBatis執(zhí)行完一條刪除語句后,會返回一個整數,表示受影響的數據庫記錄的行數。3使用delete元素刪除數據3使用delete元素刪除數據在使用delete元素定義刪除語句的時候,使用屬性parameterType傳入所需參數,可以是基本數據類型,也可以是集合類型,例如:List、Set、Map等,也可以是JavaBean。如果是單個參數,一般采用基本數據傳遞參數即可;如果是多個參數但是不超過5個,一般采用Map的集合類型即可;如果參數多個5個,使用Map進行參數傳入,就會導致程序的可讀性差、代碼難以理解等諸多問題,此時一般采用JavaBean的方式進行參數傳遞。3使用delete元素刪除數據這里以“刪除駕校學員信息管理系統(tǒng)中的email地址含有‘org’、年齡為20歲的男性學員”為例,采用Map集合類型傳入查詢參數,來定義SQL語句。在StudentMapper.xml文件中添加刪除數據的delete語句deleteStudentByMap,代碼如下所示。3使用update元素修改數據MyBatis映射文件通過update元素定義更新語句,執(zhí)行修改操作。當執(zhí)行完update元素定義的更新語句之后,也會返回一個整數,表示修改數據庫記錄的行數。update元素的屬性與delete元素類似、傳遞的參數的使用方法也是一樣的。4使用update元素修改數據這里采用JavaBean的方式進行參數傳遞,完成“修改駕校學員信息管理系統(tǒng)中的編號為100的學員信息,姓名修改為Bob,年齡修改為25,電子郵箱修改為bob@126.com”。在StudentMapper.xml文件中添加修改數據的update語句updateStudentByJavaBean,代碼如下所示。4使用update元素修改數據采用JavaBean的方式進行數據傳遞具有較好的靈活性,JavaBean的所有屬性都可以當中參數傳遞到映射文件定義的SQL語句內,例如上例中updateStudentByJavaBean語句就是用了Student對象中的4個參數(stuId作為條件,其余stuName、age、email作為修改參數)。4使用getMapper和工具類簡化代碼編寫在MybatisTest測試類中,讀者不難發(fā)現findStudentById、findStudentByNamea等方法中很多代碼是相同的,主要用來完成讀取配置文件、構建SqlSessionFactory、關閉SqlSession等操作,根據代碼復用原則,可以把這些重復的代碼提取到一個公共的類中,建立一個工具類(MyBatisUtil),由工具類來完成這些公共的操作。5使用getMapper和工具類簡化代碼編寫工具類MyBatisUtil的代入如下所示。5使用getMapper和工具類簡化代碼編寫該工具類幾乎可以應用于所有使用MyBatis框架的項目,具有較好的通用性,讀者在項目開發(fā)中可以直接復用該類,簡化項目代碼的編寫。5使用getMapper和工具類簡化代碼編寫在MyBatis框架中,也提供了在DAO層面向接口的編程,在這里只需要定義接口以及接口所對應的映射文件,其實現類可以由MyBatis框架通過代理模式自動來生成,進一步降低了項目開發(fā)的復雜度,減少了代碼的編寫。5使用getMapper和工具類簡化代碼編寫在工程項目中com.example.ssm.dao包中新建一個接口IStudentDao,聲明一個查詢方法findStudentById,代碼如下所示。packagecom.example.ssm.dao;importcom.example.ssm.pojo.Student;publicinterfaceIStudentDao{publicStudentfindStudentById(intid);}5使用getMapper和工具類簡化代碼編寫修改映射文件StudentMapper.xml中namespace命名空間,與接口IStudentDao的完全限定名一致,均為:com.example.ssm.dao.IstudentDao。此時MyBatis框架就能夠通過getMapper方法,自動生成接口與映射文件的實現類。5課程思政MyBatis框架的主要作用是對象與關系之間的映射,處理的核心就是數據轉換。在這里數據是具體,例如對象的屬性以及數據表的記錄。而數據是一切信息技術的基礎,已經升級成為一種重要的生產要素,是一種重要的戰(zhàn)略資源。2023年我國組建了國家數據局,負責協(xié)調推進數據基礎制度建設,統(tǒng)籌數據資源整合共享和開發(fā)利用,統(tǒng)籌推進數字中國、數字經濟、數字社會規(guī)劃和建設等。在大數據數時代,每個人都要注意保護個人隱私數據,切勿隨意透露個人的隱私信息。數據安全在國家安全領域范疇內不僅僅體現在軍事安全,實際上,數據已經與政治安全、經濟安全、文化安全共同成為國家安全的重要組成部分。數據安全直接影響到國家安全,在日常生活中,也要提高警惕,恪守國家秘密,共同維護國家安全。6習題1.請使用工具類MyBatisUtil對刪除數據的方法deleteStuByMap進行簡化。2.在MyBatis框架應用中如何實現動態(tài)查詢?3.在DAO層使用getMapper接口映射應該注意的事項是什么?4.使用delete元素如何實現一次刪除多條數據?5.在MyBatis框架應用中如何實現模糊查詢?軟件架構設計實戰(zhàn)——基于SSM框架Software

Architecture

Design

Practice

Based

on

SSM

Framework第11章多表關聯(lián)映射123關聯(lián)關系基礎一對一關聯(lián)操作一對多關聯(lián)操作4多對多關聯(lián)操作5使用MyBatis注解關聯(lián)關系基礎表與表的關系主要包括一對一、一對多、多對多等,在數據庫建表的時候,也會通過主鍵與外鍵約束建立表之間的關聯(lián)關系。1一對一關聯(lián)操作在一對一的多表關聯(lián)操作中,需要在結果映射resultMap元素中添加association子元素,其配置代碼如下所示。2一對一關聯(lián)操作association元素提供了一系列屬性用戶維護數據表關系,如表所示2一對一關聯(lián)操作接下來以“駕校學員信息管理系統(tǒng)”中學員與練車卡之間的一對一關聯(lián),進行相應操作的講解。2一對一關聯(lián)操作1.數據準備在數據庫driverschooldb中添加數據表t_stu_carcard,用于存儲學員的練車卡信息,其SQL語句如下所示。2一對一關聯(lián)操作2.創(chuàng)建POJO類在工程項目ORMdemo1的包com.hrbust.po中新建實體類StuCarCard用于學員卡信息的管理.2一對一關聯(lián)操作3.創(chuàng)建接口類在工程的com.example.ssm.dao包中新建接口IStuCarCardDao,其中聲明查詢練車卡信息的方法findStuCarCardById,查詢參數card_id,具體代碼如下所示。2一對一關聯(lián)操作4.創(chuàng)建映射文件在工程項目的com.example.ssm.mapper包中新建StuCarCardMapper.xml文件,主要定義學員練車卡信息相關操作的語句.2一對一關聯(lián)操作5.創(chuàng)建測試方法并運行在MybatisTest測試類中,添加新方法findStuCarCardByCardId,在這里使用前面定義好的工具類MyBatisUtil,并采用getMapper的方式進行接口映射,代碼如下所示。2一對一關聯(lián)操作2/***根據card_id查詢練車卡信息,并通過一對一關聯(lián)查詢出學員信息*/@TestpublicvoidfindStuCarCardByCardId(){//1、通過工具類獲得SqlSession對象SqlSessionsession=MyBatisUtil.getSession();//通過getMapper方法,進行接口映射IStuCarCardDaostuCarCardDao=session.getMapper(IStuCarCardDao.class);//調用接口中的方法,返回查詢結果StuCarCardstuCarCard=stuCarCardDao.findStuCarCardById(2);//打印查詢結果System.out.println(stuCarCard);}一對一關聯(lián)操作在這里采用嵌套結果的方式,在查詢練車卡信息的時候,查詢出了學員的相關信息,其實這里也可以采用嵌套查詢的方式,在StuCarCardMapper.xml文件中添加如下代碼。2一對多關聯(lián)操作單向一對多操作單向多對一操作33.1單向一對多操作與一對一關聯(lián)關系相比,在項目開發(fā)中使用更多的是一對多的關聯(lián)關系,而且在現實生活中很多實體之間的關聯(lián)也都是一對多的。通常情況下,使用MyBatis來處理一對多關系的時候,需要在映射結果集resultMap元素中添加collection子元素。collection子元素的屬性大部分與association子元素相同,但是它還包含了一個特殊屬性——ofType。ofType屬性與javaType屬性對應,它用于指定實體對象中集合類屬性所包含的元素類型。3.1單向一對多操作collection元素的使用也比較簡單,可以采用嵌套查詢和嵌套結果的方式進行,代碼示例如下所示。3.1單向一對多操作

1.數據準備在數據庫mybatis中添加數據表t_car_coach,用于存儲教練的相關信息,其SQL語句如下所示。3.1單向一對多操作在本案例中由于教練與學員之間是一對多的關聯(lián)關系,教練是“一”,學員是“多”,因此要在學員的數據表中添加教練數據表的主鍵作為外鍵進行約束。給t_student數據表添加外鍵的SQL語句如下所示。3.1單向一對多操作2.創(chuàng)建POJO類在包com.example.ssm.pojo中新建實體類Coach(教練),其代碼如下所示。3.1單向一對多操作3.創(chuàng)建接口類在工程項目的src目錄下com.example.ssm.dao包中新建接口ICoachDao,聲明根據教練coach_id查詢教練信息的方法findCoachById,查詢參數coach_id,具體代碼如下所示。3.1單向一對多操作4.創(chuàng)建映射文件在工程項目的src目錄下的包com.example.ssm.mapper中新建CoachMapper.xml文件,用于映射教練信息的相關操作,代碼如下所示。3.1單向一對多操作5.編寫測試方法并運行在MybatisTest測試類中,添加新方法findCoachByCoachId,代碼如下所示。3.2單向多對一操作在“駕校學員信息管理系統(tǒng)”中,學員與教練之間是多對一的關聯(lián)關系,即:多名學員可以關聯(lián)一位教練,更嚴格的講,就是一名學員只能關聯(lián)一位教練。所以在一對多的關聯(lián)關系中,站在“一”端看是一對多的關系,但是站在“多”端看,其實又是一對一的關系。3.2單向多對一操作在本案例中,從學員端來看,就是一名學員只能夠關聯(lián)一位教練。下面結合該案例來深入講解多對一單向關聯(lián)操作的具體步驟。首先,注銷POJO類Coach中的屬性List<Student>stus,取消從教練到學員的導航性,在POJO類Student添加屬性Coachcoach,增加從學員到教練的導航性。3.2單向多對一操作然后,在映射文件CoachMapper.xml文件增加查詢教練的方法findCoachByCoachId1,代碼如下所示。3.2單向多對一操作在映射文件StudentMapper.xml文件中,增加查詢學員信息的方法findStudentAndCoachByStuId,代碼如下所示。3.2單向多對一操作最后在測試類MybatisTest中增加測試方法findStudentAndCoachByStuId,其代碼如下所示。多對多關聯(lián)操作在實際項目開發(fā)中,多對多的關聯(lián)關系也是非常常見的,以“駕校學員管理信息系統(tǒng)”為例,就存在學員與教練車之間的多對多關系。通常情況下,多對多的關聯(lián)關系都轉化為一對多的形式進行處理,在數據庫中需要建立關聯(lián)表。以學員與教練車為例,可以這樣理解,站在“學員”端看,一名學員可以使用多輛教練車,那么學員與教練車之間是一對多的對應關系;站在“教練車”端看,一輛教練車可以供多名學員學習使用,那么教練車與學員之間也是一對多的對應關系。因此,在MyBatis框架的實現中,就是把多對多的關聯(lián)關系轉化為兩個一對多的對應關系進行處理的。4多對多關聯(lián)操作1.數據準備在項目數據庫mybatis中新建數據表t_coachcar,用于存儲教練車信息,SQL語句如下所示。4多對多關聯(lián)操作向教練車數據表中插入3條記錄,以便項目后面的程序測試使用,其SQL語句如下所示。4多對多關聯(lián)操作建立學員與教練車之間多對多關聯(lián)關系的數據表t_coachcar_stu,用于存儲學員與教練車之間對應關系,其SQL語句如下所示。4多對多關聯(lián)操作向關聯(lián)關系數據表t_coachcar_stu中插入數據,建立學員與教練車之間的聯(lián)系,共插入6條數據,其SQL語句如下所示。4多對多關聯(lián)操作2.創(chuàng)建POJO實體類在工程項目的src目錄的com.example.ssm.pojo包中,新建實體類CoachCar,對應教練車的相關信息,代碼如下所示。4多對多關聯(lián)操作3.創(chuàng)建映射接口在工程項目src目錄com.example.ssm.dao包中,新建接口ICoachCarDao,用于自動實現映射文件中定義的查詢方法(SQL查詢語句),這里聲明查詢方法findCoachCarById,查詢參數為car_id,具體代碼如下所示。4多對多關聯(lián)操作4.創(chuàng)建映射文件在com.example.ssm.mapper包中創(chuàng)建映射文件CoachCarMapper.xml文件,用于定于對教練車對象CoachCar的各種操作,在這里定義根據car_id查詢教練車信息的SQL語句,其代碼如下所示。4多對多關聯(lián)操作4多對多關聯(lián)操作5.編寫測試方法在MybatisTest測試類中,添加方法findCoachCarByCarId,用于根據car_id查詢教練車信息和關聯(lián)的學員信息,代碼如下所示。4課程思政實體之間多對多的關聯(lián)關系,在映射的時候,能不能不轉化為兩個一對多的關系,而是直接進行映射呢?答案其實可以的,在ORM框架Hibernate中,就采用了<set>元素和<many-to-many>進行多對多關聯(lián)關系的直接映射,但是這是付出巨大代價的。而在MyBatis框架中就采用化繁為簡、曲線求解的方式,把多對多的關聯(lián)關系轉化為了兩個一對多的關聯(lián)關系,這樣問題就簡化了,求解就方便了。因此,在生活、學習、工作中,要學會辯證的看待問題,不要一味地追求某一性能,而要綜合考慮,學會利用最小的代價去解決問題,同時在分析問題的時候,要遵守馬列主義的基本原則,采用唯物辯證法,客觀公正的看待問題、解決問題。使用MyBatis注解在MyBatis框架中,除了XML的映射方式,還支持通過注解實現POJO對象和數據表之間的關系映射。使用注解的時候,一般將SQL語句直接寫在接口上。與Spring框架一樣,使用注解的方式比XML的映射方式更加簡潔,能夠減少程序員的代碼量。55.1SQL語句映射注解MyBatis提供的SQL語句映射注解主要為了方便SQL語句的編寫,等同于XML文件中的insert、select、update以及delete元素,減少程序員編寫XML文件的代碼量。下面以“駕校學員信息管理系統(tǒng)”中學員信息的管理為例,介紹SQL語句映射注解的使用。5.1SQL語句映射注解1.@Insert注解使用@Insert注解實現在數據表t_student中新增學員信息的代碼如下所示。@Insert("insertintot_studen(stu_name,age,sex,email)values(#{stuName},#{age},#{sex},#{email})")publicintinsert(Studentstudent);5.1SQL語句映射注解2.@Select注解使用@Select注解查詢數據表t_student中所有學員信息的代碼如下所示。@Select("Select*fromt_student")publicList<Student>queryAllStudent();5.1SQL語句映射注解3.@Update注解使用@Update注解更新數據表t_student中學員信息的代碼如下所示。@Update("updatet_studentsetstu_name=#{stuName},age=#{age},sex=#{sex},email=#{email}wherestu_id=#{stuId}")publicintupdateStu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論