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