摘要:如果是查詢單個數(shù)據(jù)的話,用第二講用過的方法就可以了。以的形式引用參數(shù)的屬性,將使用反射讀取參數(shù)的此屬性。引用其他的等屬性與此一致。
用 mybatis 查詢數(shù)據(jù),包括列表
用 mybatis 增加數(shù)據(jù)
用 mybatis 更新數(shù)據(jù).
用 mybatis 刪除數(shù)據(jù).
查詢數(shù)據(jù),前面已經(jīng)講過簡單的,主要看查詢出列表的
查詢出列表,也就是返回list, 在我們這個例子中也就是 List
程序代碼
< !-- 為了返回list 類型而定義的returnMap -->
查詢列表的語句在 User.xml 中
程序代碼
< !-- 返回list 的select 語句,注意 resultMap 的值是指向前面定義好的 --> 在 IUserOperation 接口中增加方法:public ListselectUsers(String userName);
現(xiàn)在在 Test 類中做測試
程序代碼
public void getUserList(String userName){ SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); Listusers = userOperation.selectUsers(userName); for(User user:users){ System.out.println(user.getId()+":"+user.getUserName()+":"+user.getUserAddress()); } } finally { session.close(); } }
現(xiàn)在在main 方法中可以測試:
程序代碼
public static void main(String[] args) { Test testUser=new Test(); testUser.getUserList("%"); }
可以看到,結(jié)果成功查詢出來。如果是查詢單個數(shù)據(jù)的話,用第二講用過的方法就可以了。
用mybatis 增加數(shù)據(jù)
在 IUserOperation 接口中增加方法:public void addUser(User user);
在 User.xml 中配置
程序代碼
< !--執(zhí)行增加操作的SQL語句。id和parameterType 分別與IUserOperation接口中的addUser方法的名字和 參數(shù)類型一致。以#{name}的形式引用Student參數(shù) 的name屬性,MyBatis將使用反射讀取Student參數(shù) 的此屬性。#{name}中name大小寫敏感。引用其他 的gender等屬性與此一致。seGeneratedKeys設(shè)置 為"true"表明要MyBatis獲取由數(shù)據(jù)庫自動生成的主 鍵;keyProperty="id"指定把獲取到的主鍵值注入 到Student的id屬性-->insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress})
然后在 Test 中寫測試方法:
程序代碼
/** * 測試增加,增加后,必須提交事務(wù),否則不會寫入到數(shù)據(jù)庫. */ public void addUser(){ User user=new User(); user.setUserAddress("人民廣場"); user.setUserName("飛鳥"); user.setUserAge(80); SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); userOperation.addUser(user); session.commit(); System.out.println("當(dāng)前增加的用戶 id為:"+user.getId()); } finally { session.close(); } }
用mybatis 更新數(shù)據(jù)
方法類似,先在 IUserOperation 中增加方法:public void addUser(User user);
然后配置 User.xml
程序代碼
update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}
Test 類總的測試方法如下:
程序代碼
public void updateUser(){ //先得到用戶,然后修改,提交。 SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); User user = userOperation.selectUserByID(4); user.setUserAddress("原來是魔都的浦東創(chuàng)新園區(qū)"); userOperation.updateUser(user); session.commit(); } finally { session.close(); } }
用mybatis 刪除數(shù)據(jù)
同理,IUserOperation 增加方法:public void deleteUser(int id);
配置User.xml
程序代碼
delete from user where id=#{id}
然后在Test類中寫測試方法:
程序代碼
/** * 刪除數(shù)據(jù),刪除一定要 commit. * @param id */ public void deleteUser(int id){ SqlSession session = sqlSessionFactory.openSession(); try { IUserOperation userOperation=session.getMapper(IUserOperation.class); userOperation.deleteUser(id); session.commit(); } finally { session.close(); } }
這樣,所有增刪改查都完成了,注意在增加,更改,刪除的時(shí)候要調(diào)用session.commit(),這樣才會真正對數(shù)據(jù)庫進(jìn)行操作,否則是沒有提交的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74499.html
摘要:創(chuàng)建父工程文件如下這里只添加幾個最簡單的依賴啟動父依賴依賴依賴依賴創(chuàng)建子工程 1.創(chuàng)建父工程 showImg(https://segmentfault.com/img/bVbgtl4?w=387&h=255); pom文件如下(這里只添加幾個最簡單的依賴) 4.0.0 wyb springbootDubbo pom 1.0-SNAPSHOT...
?程序員小王的博客:程序員小王的博客 ? 歡迎點(diǎn)贊 ? 收藏 ?留言 ? ? 如有編輯錯誤聯(lián)系作者,如果有比較好的文章歡迎分享給我,我會取其精華去其糟粕 ?java自學(xué)的學(xué)習(xí)路線:java自學(xué)的學(xué)習(xí)路線 一、員工管理系統(tǒng)項(xiàng)目說明: 該項(xiàng)目主要是完成Spring+SpringMVC+mybatis的完整整合,功能實(shí)現(xiàn)比較單一,就是一個完成增刪改查的小項(xiàng)目! 源代碼在githee倉庫:SSM實(shí)戰(zhàn)項(xiàng)目...
摘要:以前都是用進(jìn)行數(shù)據(jù)庫的開發(fā),最近學(xué)習(xí)之后發(fā)現(xiàn)顯得更友好,所以我們就一起來了解一下的原理吧。簡單介紹持久性是的一個規(guī)范。它用于在對象和關(guān)系數(shù)據(jù)庫之間保存數(shù)據(jù)。充當(dāng)面向?qū)ο蟮念I(lǐng)域模型和關(guān)系數(shù)據(jù)庫系統(tǒng)之間的橋梁。是標(biāo)識出主鍵是指定主鍵的自增方式。 以前都是用Mybatis進(jìn)行數(shù)據(jù)庫的開發(fā),最近學(xué)習(xí)Spring Boot之后發(fā)現(xiàn)JPA顯得更友好,所以我們就一起來了解一下JPA的原理吧。 Spr...
閱讀 1341·2021-09-04 16:40
閱讀 3466·2021-07-28 00:13
閱讀 2890·2019-08-30 11:19
閱讀 2624·2019-08-29 12:29
閱讀 3179·2019-08-29 12:24
閱讀 1132·2019-08-26 13:28
閱讀 2406·2019-08-26 12:01
閱讀 3456·2019-08-26 11:35