MyBatisPlus標(biāo)準(zhǔn)數(shù)據(jù)層CRUD的使用詳解
標(biāo)準(zhǔn)CRUD使用
對(duì)于標(biāo)準(zhǔn)的CRUD功能在MP中都提供了方法供我們使用。

此案例環(huán)境是根據(jù)上篇讓入門案例內(nèi)容。
新增
新增的方法:
int insert (T t);
T:泛型,新增用來保存新增數(shù)據(jù)
int:返回值,新增成功后返回1,沒有新增成功返回是0
在測(cè)試類中進(jìn)行新增操作:
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testSave() {
User user = new User();
user.setName("新增");
user.setPassword("xinzeng");
user.setAge(16);
user.setTel("12345678");
userDao.insert(user);
}
}執(zhí)行完測(cè)試后,數(shù)據(jù)表中會(huì)新增一條數(shù)據(jù),但是數(shù)據(jù)中的注解ID是一串很長(zhǎng)的數(shù)字,根據(jù)主鍵自增,應(yīng)該是5才對(duì),這就涉及到主鍵ID生成策略。
刪除
刪除的方法:
int deleteById (Serializable id);
Serializable:參數(shù)類型
參數(shù)類型為什么是一個(gè)序列化類,因?yàn)镾tring和Number是Serializable的子類,Number又是Float,Double,Integer等類的父類,能作為主鍵的數(shù)據(jù)類型都已經(jīng)是Serializable的子類,MP使用Serializable作為參數(shù)類型,就好比我們可以用Object接收任何數(shù)據(jù)類型一樣。
int;返回值類型,數(shù)據(jù)刪除成功返回1,為刪除數(shù)據(jù)返回0。
在測(cè)試類中進(jìn)行刪除操作:
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testDelete() {
userDao.deleteById(1401856123725713409L);
}
}
修改
修改的方法:
int updateById (T t);
T:泛型,需要修改的數(shù)據(jù)內(nèi)容,注意因?yàn)槭歉鶕?jù)進(jìn)行修改,所有傳入的對(duì)象中需要有ID屬性值
int:返回值,修改成功后返回1,未修改數(shù)據(jù)返回0
在測(cè)試類中進(jìn)行修改操作:
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testUpdate() {
User user = new User();
user.setId(1L);
user.setName("Tom888");
user.setPassword("tom888");
userDao.updateById(user);
}
}說明:修改的時(shí)候,只修改實(shí)體對(duì)象中有值的字段。
根據(jù)ID查詢
根據(jù)ID查詢的方法:
T selectById (Serializable id);
Serializable:參數(shù)類型,主鍵ID的值
T:根據(jù)ID查詢只會(huì)返回一條數(shù)據(jù)
在測(cè)試類中進(jìn)行新增操作:
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetById() {
User user = userDao.selectById(2L);
System.out.println(user);
}
}
查詢所有
查詢所有的方法:
List<T> selectList (wrapper<T> querywrapper);
Wrapper:用來構(gòu)建條件查詢的條件,目前我們沒有可直接傳為Null
List:因?yàn)椴樵兊乃?,所以返回的?shù)據(jù)是一個(gè)集合
在測(cè)試類中進(jìn)行查詢所有操作:
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetAll() {
List<User> userList = userDao.selectList(null);
System.out.println(userList);
}
}以上就是MyBatisPlus標(biāo)準(zhǔn)數(shù)據(jù)層CRUD的使用詳解的詳細(xì)內(nèi)容,更多關(guān)于MyBatisPlus標(biāo)準(zhǔn)數(shù)據(jù)層CRUD的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PowerJob的CleanService清理服務(wù)流程
這篇文章主要為大家介紹了PowerJob的CleanService清理服務(wù)流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2024-02-02
劍指Offer之Java算法習(xí)題精講二叉搜索樹與數(shù)組查找
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03
解決maven build 無反應(yīng),直接terminated的問題
下面小編就為大家?guī)硪黄鉀Qmaven build 無反應(yīng),直接terminated的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Java開發(fā)常見錯(cuò)誤之?dāng)?shù)值計(jì)算精度和舍入問題詳析
除了使用Double保存浮點(diǎn)數(shù)可能帶來精度問題外,更匪夷所思的是這種精度問題,下面這篇文章主要給大家介紹了關(guān)于Java開發(fā)常見錯(cuò)誤之?dāng)?shù)值計(jì)算精度和舍入問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
Springboot 如何關(guān)閉自動(dòng)配置
這篇文章主要介紹了Springboot 如何關(guān)閉自動(dòng)配置的操作,具有很好的開車價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
帶你輕松搞定Java面向?qū)ο蟮木幊?-數(shù)組,集合框架
Java是面向?qū)ο蟮母呒?jí)編程語言,類和對(duì)象是 Java程序的構(gòu)成核心。圍繞著Java類和Java對(duì)象,有三大基本特性:封裝是Java 類的編寫規(guī)范、繼承是類與類之間聯(lián)系的一種形式、而多態(tài)為系統(tǒng)組件或模塊之間解耦提供了解決方案2021-06-06
OpenFeign實(shí)現(xiàn)攜帶請(qǐng)求頭方案詳細(xì)介紹
這篇文章主要介紹了OpenFeign實(shí)現(xiàn)攜帶請(qǐng)求頭方案,在通過???OpenFeign???進(jìn)行服務(wù)調(diào)用的過程中,我們需要將用戶的??user-token???、??lang??等信息放入請(qǐng)求header中。在分布式系統(tǒng)中,往往一個(gè)業(yè)務(wù)接口內(nèi)部會(huì)發(fā)生多次RPC調(diào)用2022-11-11
springboot mybatis里localdatetime序列化問題的解決
這篇文章主要介紹了springboot mybatis里localdatetime序列化問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10

