国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MyBatis的Mapper接口以及Example的實例函數及詳解

Alex / 1775人閱讀

摘要:轉載自一接口中的方法解析接口中的函數及方法方法功能說明按條件計數按主鍵刪除按條件查詢插入數據返回值為按主鍵查詢按條件查詢按條件查詢包括字段。只有當數據表中的字段類型有為二進制的才會產生。

轉載自 https://blog.csdn.net/biandou...

一、mapper接口中的方法解析

mapper接口中的函數及方法

方法 功能說明
int countByExample(UserExample example) thorws SQLException 按條件計數
int deleteByPrimaryKey(Integer id) thorws SQLException 按主鍵刪除
int deleteByExample(UserExample example) thorws SQLException 按條件查詢
String/Integer insert(User record) thorws SQLException 插入數據(返回值為ID)
User selectByPrimaryKey(Integer id) thorws SQLException 按主鍵查詢
ListselectByExample(UserExample example) thorws SQLException 按條件查詢
ListselectByExampleWithBLOGs(UserExample example) thorws SQLException 按條件查詢(包括BLOB字段)。只有當數據表中的字段類型有為二進制的才會產生。
int updateByPrimaryKey(User record) thorws SQLException 按主鍵更新
int updateByPrimaryKeySelective(User record) thorws SQLException 按主鍵更新值不為null的字段
int updateByExample(User record, UserExample example) thorws SQLException 按條件更新
int updateByExampleSelective(User record, UserExample example) thorws SQLException 按條件更新值不為null的字段
二、example實例解析

mybatis的逆向工程中會生成實例及實例對應的example,example用于添加條件,相當where后面的部分
xxxExample example = new xxxExample();
Criteria criteria = new Example().createCriteria();

方法 說明
example.setOrderByClause(“字段名 ASC”) 添加升序排列條件,DESC為降序
example.setDistinct(false) 去除重復,boolean型,true為選擇不重復的記錄。
criteria.andXxxIsNull 添加字段xxx為null的條件
criteria.andXxxIsNotNull 添加字段xxx不為null的條件
criteria.andXxxEqualTo(value) 添加xxx字段等于value條件
criteria.andXxxNotEqualTo(value) 添加xxx字段不等于value條件
criteria.andXxxGreaterThan(value) 添加xxx字段大于value條件
criteria.andXxxGreaterThanOrEqualTo(value) 添加xxx字段大于等于value條件
criteria.andXxxLessThan(value) 添加xxx字段小于value條件
criteria.andXxxLessThanOrEqualTo(value) 添加xxx字段小于等于value條件
criteria.andXxxIn(List<?>) 添加xxx字段值在List<?>條件
criteria.andXxxNotIn(List<?>) 添加xxx字段值不在List<?>條件
criteria.andXxxLike(“%”+value+”%”) 添加xxx字段值為value的模糊查詢條件
criteria.andXxxNotLike(“%”+value+”%”) 添加xxx字段值不為value的模糊查詢條件
criteria.andXxxBetween(value1,value2) 添加xxx字段值在value1和value2之間條件
criteria.andXxxNotBetween(value1,value2) 添加xxx字段值不在value1和value2之間條件
三、應用舉例 1.查詢

selectByPrimaryKey()

User user = XxxMapper.selectByPrimaryKey(100); //相當于select * from user where id = 100

selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
criteria.andUsernameIsNull();
example.setOrderByClause("username asc,email desc");
Listlist = XxxMapper.selectByExample(example);
//相當于:select * from user where username = "wyw" and  username is null order by username asc,email desc

注:在iBator逆向工程生成的文件XxxExample.java中包含一個static的內部類Criteria,Criteria中的方法是定義SQL 語句where后的查詢條件。

2.插入數據

insert()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("admin");
user.setPassword("admin")
user.setEmail("wyw@163.com");
XxxMapper.insert(user);
//相當于:insert into user(ID,username,password,email) values ("dsfgsdfgdsfgds","admin","admin","wyw@126.com");
3.更新數據

updateByPrimaryKey()

User user =new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("wyw");
user.setPassword("wyw");
user.setEmail("wyw@163.com");
XxxMapper.updateByPrimaryKey(user);
//相當于:update user set username="wyw", password="wyw", email="wyw@163.com" where id="dsfgsdfgdsfgds"

updateByPrimaryKeySelective()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setPassword("wyw");
XxxMapper.updateByPrimaryKey(user);
//相當于:update user set password="wyw" where id="dsfgsdfgdsfgds"

updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
User user = new User();
user.setPassword("wyw");
XxxMapper.updateByPrimaryKeySelective(user,example);
//相當于:update user set password="wyw" where username="admin"

updateByExample()更新所有的字段,包括字段為null的也更新,建議使用 updateByExampleSelective()更新想更新的字段

4.刪除數據

deleteByPrimaryKey()

XxxMapper.deleteByPrimaryKey(1);  //相當于:delete from user where id=1

deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
XxxMapper.deleteByExample(example);
//相當于:delete from user where username="admin"
5.查詢數據數量

countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
int count = XxxMapper.countByExample(example);
//相當于:select count(*) from user where username="wyw"

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69670.html

相關文章

  • MyBatis 源碼解析(一):初始化和動態代理

    摘要:最終解析出的和依然是設置到中。到這里,初始化部分就結束了。總結的初始化流程主要是解析配置文件,將相關信息保存在中,同時對每個代表的生成代理對象工廠。 簡介 MyBatis 是 Java 開發中非常流行的 ORM 框架,其封裝了 JDBC 并且解決了 Java 對象與輸入參數和結果集的映射,同時又能夠讓用戶方便地手寫 SQL 語句。MyBatis 的行為類似于以下幾行代碼: Class....

    娣辯孩 評論0 收藏0
  • #yyds干貨盤點# Spring Boot前世今生它和Spring Cloud關系詳解

    摘要:經過年時間的發展,到目前為止,最新穩定版為版本。的發展剛出生的時候,引起了很多開源社區的關注,并且也有個人和企業開始嘗試使用。通過項目搭建過程來對比的差異和優勢。當然它的作用不僅于此,后續會逐步揭開它的真實面目。而和就相當于當年的和的關系。 要了解Spring Boot的發展背景,還得從2004年Spring ...

    番茄西紅柿 評論0 收藏2637
  • Mybatis源碼分析

    摘要:我認為學習框架源碼分為兩步抓住主線,掌握框架的原理和流程理解了處理思路之后,再去理解面向對象思想和設計模式的用法目前第一步尚有問題,需要多走幾遍源碼,加深下理解,一起加油 這篇文章我們來深入閱讀下Mybatis的源碼,希望以后可以對底層框架不那么畏懼,學習框架設計中好的思想; 架構原理 架構圖 showImg(https://segmentfault.com/img/remote/...

    lindroid 評論0 收藏0
  • 面試官都會問Mybatis面試題,你會這樣回答嗎?

    摘要:最終能和面試官聊的開心愉快投緣的叫面霸。能夠與很好的集成提供映射標簽,支持對象與數據庫的字段關系映射提供對象關系映射標簽,支持對象關系組件維護。使用可以有效的防止注入,提高系統安全性。 showImg(https://segmentfault.com/img/bVbsSlt?w=358&h=269); 一、概述 面試,難還是不難?取決于面試者的底蘊(氣場+技能)、心態和認知及溝通技巧。...

    seanHai 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<