成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MyBatis的Mapper接口以及Example的實(shí)例函數(shù)及詳解

Alex / 1791人閱讀

摘要:轉(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的字段
二、example實(shí)例解析

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之間條件
三、應(yīng)用舉例 1.查詢

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");
Listlist = 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

相關(guān)文章

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

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

    娣辯孩 評論0 收藏0
  • #yyds干貨盤點(diǎn)# Spring Boot前世今生它和Spring Cloud關(guān)系詳解。

    摘要:經(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 ...

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

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

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

    摘要:最終能和面試官聊的開心愉快投緣的叫面霸。能夠與很好的集成提供映射標(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)知及溝通技巧。...

    seanHai 評論0 收藏0

發(fā)表評論

0條評論

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