摘要:轉(zhuǎn)載自一接口中的方法解析接口中的函數(shù)及方法方法功能說明按條件計(jì)數(shù)按主鍵刪除按條件查詢插入數(shù)據(jù)返回值為按主鍵查詢按條件查詢按條件查詢包括字段。只有當(dāng)數(shù)據(jù)表中的字段類型有為二進(jìn)制的才會產(chǎn)生。
轉(zhuǎn)載自 https://blog.csdn.net/biandou...
一、mapper接口中的方法解析mapper接口中的函數(shù)及方法
方法 | 功能說明 |
---|---|
int countByExample(UserExample example) thorws SQLException | 按條件計(jì)數(shù) |
int deleteByPrimaryKey(Integer id) thorws SQLException | 按主鍵刪除 |
int deleteByExample(UserExample example) thorws SQLException | 按條件查詢 |
String/Integer insert(User record) thorws SQLException | 插入數(shù)據(jù)(返回值為ID) |
User selectByPrimaryKey(Integer id) thorws SQLException | 按主鍵查詢 |
ListselectByExample(UserExample example) thorws SQLException | 按條件查詢 |
ListselectByExampleWithBLOGs(UserExample example) thorws SQLException | 按條件查詢(包括BLOB字段)。只有當(dāng)數(shù)據(jù)表中的字段類型有為二進(jìn)制的才會產(chǎn)生。 |
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的字段 |
mybatis的逆向工程中會生成實(shí)例及實(shí)例對應(yīng)的example,example用于添加條件,相當(dāng)where后面的部分
xxxExample example = new xxxExample();
Criteria criteria = new Example().createCriteria();
方法 | 說明 |
---|---|
example.setOrderByClause(“字段名 ASC”) | 添加升序排列條件,DESC為降序 |
example.setDistinct(false) | 去除重復(fù),boolean型,true為選擇不重復(fù)的記錄。 |
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之間條件 |
selectByPrimaryKey()
User user = XxxMapper.selectByPrimaryKey(100); //相當(dāng)于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"); List>list = XxxMapper.selectByExample(example); //相當(dāng)于:select * from user where username = "wyw" and username is null order by username asc,email desc
注:在iBator逆向工程生成的文件XxxExample.java中包含一個static的內(nèi)部類Criteria,Criteria中的方法是定義SQL 語句where后的查詢條件。
2.插入數(shù)據(jù)insert()
User user = new User(); user.setId("dsfgsdfgdsfgds"); user.setUsername("admin"); user.setPassword("admin") user.setEmail("[email protected]"); XxxMapper.insert(user); //相當(dāng)于:insert into user(ID,username,password,email) values ("dsfgsdfgdsfgds","admin","admin","[email protected]");3.更新數(shù)據(jù)
updateByPrimaryKey()
User user =new User(); user.setId("dsfgsdfgdsfgds"); user.setUsername("wyw"); user.setPassword("wyw"); user.setEmail("[email protected]"); XxxMapper.updateByPrimaryKey(user); //相當(dāng)于:update user set username="wyw", password="wyw", email="[email protected]" where id="dsfgsdfgdsfgds"
updateByPrimaryKeySelective()
User user = new User(); user.setId("dsfgsdfgdsfgds"); user.setPassword("wyw"); XxxMapper.updateByPrimaryKey(user); //相當(dāng)于: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); //相當(dāng)于:update user set password="wyw" where username="admin"
updateByExample()更新所有的字段,包括字段為null的也更新,建議使用 updateByExampleSelective()更新想更新的字段
4.刪除數(shù)據(jù)deleteByPrimaryKey()
XxxMapper.deleteByPrimaryKey(1); //相當(dāng)于:delete from user where id=1
deleteByExample()
UserExample example = new UserExample(); Criteria criteria = example.createCriteria(); criteria.andUsernameEqualTo("admin"); XxxMapper.deleteByExample(example); //相當(dāng)于:delete from user where username="admin"5.查詢數(shù)據(jù)數(shù)量
countByExample()
UserExample example = new UserExample(); Criteria criteria = example.createCriteria(); criteria.andUsernameEqualTo("wyw"); int count = XxxMapper.countByExample(example); //相當(dāng)于:select count(*) from user where username="wyw"
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69670.html
摘要:最終解析出的和依然是設(shè)置到中。到這里,初始化部分就結(jié)束了??偨Y(jié)的初始化流程主要是解析配置文件,將相關(guān)信息保存在中,同時對每個代表的生成代理對象工廠。 簡介 MyBatis 是 Java 開發(fā)中非常流行的 ORM 框架,其封裝了 JDBC 并且解決了 Java 對象與輸入?yún)?shù)和結(jié)果集的映射,同時又能夠讓用戶方便地手寫 SQL 語句。MyBatis 的行為類似于以下幾行代碼: Class....
摘要:經(jīng)過年時間的發(fā)展,到目前為止,最新穩(wěn)定版為版本。的發(fā)展剛出生的時候,引起了很多開源社區(qū)的關(guān)注,并且也有個人和企業(yè)開始嘗試使用。通過項(xiàng)目搭建過程來對比的差異和優(yōu)勢。當(dāng)然它的作用不僅于此,后續(xù)會逐步揭開它的真實(shí)面目。而和就相當(dāng)于當(dāng)年的和的關(guān)系。 要了解Spring Boot的發(fā)展背景,還得從2004年Spring ...
摘要:我認(rèn)為學(xué)習(xí)框架源碼分為兩步抓住主線,掌握框架的原理和流程理解了處理思路之后,再去理解面向?qū)ο笏枷牒驮O(shè)計(jì)模式的用法目前第一步尚有問題,需要多走幾遍源碼,加深下理解,一起加油 這篇文章我們來深入閱讀下Mybatis的源碼,希望以后可以對底層框架不那么畏懼,學(xué)習(xí)框架設(shè)計(jì)中好的思想; 架構(gòu)原理 架構(gòu)圖 showImg(https://segmentfault.com/img/remote/...
摘要:最終能和面試官聊的開心愉快投緣的叫面霸。能夠與很好的集成提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的字段關(guān)系映射提供對象關(guān)系映射標(biāo)簽,支持對象關(guān)系組件維護(hù)。使用可以有效的防止注入,提高系統(tǒng)安全性。 showImg(https://segmentfault.com/img/bVbsSlt?w=358&h=269); 一、概述 面試,難還是不難?取決于面試者的底蘊(yùn)(氣場+技能)、心態(tài)和認(rèn)知及溝通技巧。...
閱讀 1977·2021-11-24 10:45
閱讀 1465·2021-11-18 13:15
閱讀 4560·2021-09-22 15:47
閱讀 3939·2021-09-09 11:36
閱讀 2018·2019-08-30 15:44
閱讀 3096·2019-08-29 13:05
閱讀 2509·2019-08-29 12:54
閱讀 2001·2019-08-26 13:47