《JavaEE框架技術(shù)》課件02MyBatis 基礎(chǔ)操作-增刪改_第1頁(yè)
《JavaEE框架技術(shù)》課件02MyBatis 基礎(chǔ)操作-增刪改_第2頁(yè)
《JavaEE框架技術(shù)》課件02MyBatis 基礎(chǔ)操作-增刪改_第3頁(yè)
《JavaEE框架技術(shù)》課件02MyBatis 基礎(chǔ)操作-增刪改_第4頁(yè)
《JavaEE框架技術(shù)》課件02MyBatis 基礎(chǔ)操作-增刪改_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1第2章Mybatis基礎(chǔ)操作框架程序設(shè)計(jì)(Java)2學(xué)習(xí)目標(biāo)mybatis的簡(jiǎn)單查詢1mybatis的增加、刪除、修改操作2mybatis的事務(wù)管理332mybatis的增、刪、改及事務(wù)管理-目錄1)插入一條記錄2)修改一條記錄3)刪除一條記錄4)使用事務(wù)管理2.1mybatis的增、刪、改-insert例子1:在用戶信息表user中插入一條記錄表名user(用戶信息表)字段2個(gè)username用戶名字符串10位主鍵password密碼字符串6位非空要求用mybatis框架編程,mysql數(shù)據(jù)庫(kù),在該表中插入用戶名為李四,密碼為444的記錄框架程序設(shè)計(jì)java42.1mybatis的增、刪、改-insert在sql語(yǔ)句配置文件UserMapper.xml中加入一個(gè)新的帶參數(shù)的sql語(yǔ)句配置:<insertid="insertUser"parameterType="domain.User">insertintouser(username,password)values(#{username},#{password})</insert>說(shuō)明加入一個(gè)insert(插入)標(biāo)簽,與前面select標(biāo)簽并列parameterType=“domain.User”表示傳入的參數(shù)不是一個(gè)簡(jiǎn)單類型,而是把數(shù)據(jù)封裝到domain.User類的對(duì)象中#{username}表示用戶名的值來(lái)自User類中的username屬性,從java代碼中傳入的是User類對(duì)象,然后通過(guò)username的get方法得到值,#{password}類似框架程序設(shè)計(jì)java52.1mybatis的增、刪、改-insert在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼//3.執(zhí)行sql語(yǔ)句Useruser=newUser();user.setUsername("李四");user.setPassword("444");inti=sqlSession.insert("insertUser",user);//4.結(jié)果輸出注釋掉說(shuō)明:sqlSession.insert(“insertUser”,user);是插入一條id為insertUser的sql語(yǔ)句,傳入的插入?yún)?shù)為user對(duì)象調(diào)試執(zhí)行,發(fā)現(xiàn)數(shù)據(jù)庫(kù)中未成功增加一條數(shù)據(jù),重復(fù)執(zhí)行呢?框架程序設(shè)計(jì)java62.1mybatis的增、刪、改-insert在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼//2.得到執(zhí)行sql的對(duì)象SqlSessionsqlSession=sqlSessionFactory.openSession(true);說(shuō)明:sqlSessionFactory.openSession(true);是自動(dòng)提交到數(shù)據(jù)庫(kù)(commit),默認(rèn)為手動(dòng)提交(sqlSmit();)。調(diào)試執(zhí)行,發(fā)現(xiàn)數(shù)據(jù)庫(kù)中成功增加一條數(shù)據(jù),再重復(fù)執(zhí)行呢?框架程序設(shè)計(jì)java72.2mybatis的增、刪、改-update例子2:在用戶信息表user中修改一條記錄表名user(用戶信息表)字段2個(gè)username用戶名字符串10位主鍵password密碼字符串6位非空要求用mybatis框架編程,mysql數(shù)據(jù)庫(kù),在該表中修改用戶名為李四的記錄,把密碼444修改為666框架程序設(shè)計(jì)java82.2mybatis的增、刪、改-update在sql語(yǔ)句配置文件UserMapper.xml中加入一個(gè)新的帶參數(shù)的sql語(yǔ)句配置:<updateid="updateUser"parameterType="domain.User">UPDATEuserSETpassword=#{password}WHEREusername=#{username}</update>說(shuō)明加入一個(gè)update(修改)標(biāo)簽,與前面的insert標(biāo)簽并列parameterType=“domain.User”表示傳入的參數(shù)不是一個(gè)簡(jiǎn)單類型,而是把數(shù)據(jù)封裝到domain.User類的對(duì)象中#{username}表示用戶名的值來(lái)自User類中的username屬性,從java代碼中傳入的是User類對(duì)象,然后通過(guò)username的get方法得到值,#{password}類似框架程序設(shè)計(jì)java92.2mybatis的增、刪、改-update在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼//3.執(zhí)行sql語(yǔ)句Useruser=newUser();user.setUsername("李四");user.setPassword(“666");inti=sqlSession.update("updateUser",user);說(shuō)明:sqlSession.update(“updateUser”,user);是修改一條id為updateUser的sql語(yǔ)句,傳入的插入?yún)?shù)為user對(duì)象調(diào)試執(zhí)行,發(fā)現(xiàn)數(shù)據(jù)庫(kù)中修改成功框架程序設(shè)計(jì)java102.3mybatis的增、刪、改-delete例子3:在用戶信息表user中刪除一條記錄表名user(用戶信息表)字段2個(gè)username用戶名字符串10位主鍵password密碼字符串6位非空要求用mybatis框架編程,mysql數(shù)據(jù)庫(kù),在該表中刪除用戶名為李四的記錄框架程序設(shè)計(jì)java112.3mybatis的增、刪、改-delete在sql語(yǔ)句配置文件UserMapper.xml中加入一個(gè)新的帶參數(shù)的sql語(yǔ)句配置:<deleteid="deleteUser"parameterType="String">deletefromuserwhereusername=#{xxx}</delete>說(shuō)明加入一個(gè)delete(修改)標(biāo)簽,與前面的update標(biāo)簽并列parameterType=“string”表示傳入的參數(shù)是java中的字符串String類型,其中首字母s大小寫(xiě)是一樣的#{xxx}表示傳入的參數(shù),這里參數(shù)名只是一個(gè)形式,可任意命名框架程序設(shè)計(jì)java122.3mybatis的增、刪、改-delete在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼//3.執(zhí)行sql語(yǔ)句//Useruser=newUser();//user.setUsername("李四");//user.setPassword(“666");sqlSession.delete(“deleteUser”,“李四”);說(shuō)明:sqlSession.delete(“deleteUser”,“李四”);是刪除一條id為deleteUser的sql語(yǔ)句,傳入刪除的username為李四調(diào)試執(zhí)行,發(fā)現(xiàn)數(shù)據(jù)庫(kù)中刪除李四這條記錄成功框架程序設(shè)計(jì)java132.4mybatis的事務(wù)管理回顧前面例子中mybatis-config.xml文件關(guān)鍵內(nèi)容<environmentsdefault="development"><environmentid="development"><transactionManagertype="JDBC"/><dataSourcetype="POOLED"><propertyname="driver"value="${jdbc.driver}"/><propertyname="url"value="${jdbc.url}"/><propertyname="username"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/></dataSource></environment></environments>說(shuō)明紅色的部分就是mybatis的事務(wù)管理配置其中type屬性有兩個(gè)取值,JDBC表示由JDBC來(lái)進(jìn)行事務(wù)管理,MANAGED表示由第三方插件來(lái)管理比如以后要學(xué)習(xí)的spring框架框架程序設(shè)計(jì)java142.4mybatis的事務(wù)管理例子4:在用戶信息表user中插入一條記錄表名user(用戶信息表)字段2個(gè)username用戶名字符串10位主鍵password密碼字符串6位非空要求用mybatis框架編程,使用事務(wù)管理,mysql數(shù)據(jù)庫(kù),在該表中插入用戶名為趙六,密碼為444的記錄,并將用戶名為“王五”的密碼改為888框架程序設(shè)計(jì)java152.4mybatis的事務(wù)管理在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼//2.得到執(zhí)行sql的對(duì)象SqlSessionsqlSession=sqlSessionFactory.openSession(false);說(shuō)明:sqlSessionFactory.openSession(false);是關(guān)閉自動(dòng)提交到數(shù)據(jù)庫(kù)(commit),默認(rèn)為關(guān)閉框架程序設(shè)計(jì)java162.4mybatis的事務(wù)管理在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼(標(biāo)準(zhǔn)寫(xiě)法)//3.執(zhí)行sql語(yǔ)句 try{ Useruser1=newUser(); user1.setUsername("趙六"); user1.setPassword("444");

sqlSession.insert("insertUser",user1); Useruser2=newUser(); user2.setUsername("王五"); user2.setPassword("888");

sqlSession.update("updateUser",user2); sqlSmit(); }catch(Exceptionex){ sqlSession.rollback(); }finally{ //5.關(guān)閉數(shù)據(jù)庫(kù) sqlSession.close(); }框架程序設(shè)計(jì)java172.4mybatis的事務(wù)管理在測(cè)試類中修改執(zhí)行sql語(yǔ)句的代碼說(shuō)明:sqlSmit();在執(zhí)行了sql語(yǔ)句之后需要使用commit語(yǔ)句進(jìn)行提交,不提交在數(shù)據(jù)庫(kù)中不會(huì)成功執(zhí)行另外,可以使用sqlSession.rollback();回滾,若出錯(cuò)的時(shí)候請(qǐng)加上這條代碼框架程序設(shè)計(jì)java182.5作業(yè)在學(xué)生信息表student依次進(jìn)行如下操作表名student(學(xué)生信息表)字段2個(gè)no學(xué)號(hào)字符串10位主鍵name

溫馨提示

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

評(píng)論

0/150

提交評(píng)論