最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Mybatis-plus清空表數(shù)據(jù)的操作方法

 更新時間:2022年11月29日 10:51:52   作者:Alex_81D  
MyBatis 是一個基于 java 的持久層框架,它內(nèi)部封裝了 jdbc,極大提高了我們的開發(fā)效率,文中給大家介紹了MybatisPlus常用API-增刪改查功能,感興趣的朋友跟隨小編一起看看吧

方法一:

public interface userInfoMapper extends BaseMapper<UserInfo> {
//清空指定表
    @Update("truncate table user")
    void deleteUserTemp();
}

 方法二:

直接使用自帶的remove接口 ,同時使用QueryWrapper參數(shù)如:

userInfoTempService.remove(new QueryWrapper<>())

引申一下 Mybatis-plus這個好用的框架:

我們知道 MyBatis 是一個基于 java 的持久層框架,它內(nèi)部封裝了 jdbc,極大提高了我們的開發(fā)效率。
但是使用 Mybatis 開發(fā)也有很多痛點:
每個 Dao 接口都需要自己定義一堆增刪改查方法:

public interface UserDao {
    // 獲取所有用戶信息
    List<User> getUserList();
    
    // 根絕 id 獲取用戶信息
    User getUserById(int id);
    
    // 新增用戶信息
    boolean add(User user);
    
    // 更新用戶信息
    boolean update(User user);
    
    // 刪除用戶信息
    boolean delete(int id);
}

每個 Mapper 文件都需要寫一堆基本的增刪改查語句。

3.如果查詢的列表需要分頁,我們還需要給查詢方法封裝成分頁對象。

你可能會說:Mybatis 還能有痛點?用著多方便!

對于小項目而言,用著確實還行。但是遇到大項目,光 Dao 接口都有幾百個,如果還要手動定義一堆增刪改查方法和 sql 語句,那也很浪費時間。

那有沒有這樣一個框架:

1.封裝了 Mybatis,自帶 CRUD 方法,我們不需要自己定義 CRUD 方法。

2.提供各種查詢方法,不需要在 mapper 文件中寫一些基礎(chǔ)的 sql 語句。

3.封裝了分頁功能,讓分頁查詢無比絲滑。

有的,MybatisPlus 閃亮登場。
依賴:

<!-- mybatis-plus 依賴-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>

 -----------------------------------------------------------------------------------------------------------

MybatisPlus常用API-增刪改查  

Get

// 根據(jù) ID 查詢
T getById(Serializable id);
// 根據(jù) Wrapper,查詢一條記錄。結(jié)果集,如果是多個會拋出異常,隨機(jī)取一條加上限制條件 wrapper.last("LIMIT 1")
T getOne(Wrapper<T> queryWrapper);
// 根據(jù) Wrapper,查詢一條記錄
T getOne(Wrapper<T> queryWrapper, boolean throwEx);
// 根據(jù) Wrapper,查詢一條記錄
Map<String, Object> getMap(Wrapper<T> queryWrapper);
// 根據(jù) Wrapper,查詢一條記錄
<V> V getObj(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);

Save

// 插入一條記錄(選擇字段,策略插入)
boolean save(T entity);
// 插入(批量)
boolean saveBatch(Collection<T> entityList);
// 插入(批量)
boolean saveBatch(Collection<T> entityList, int batchSize);

SaveOrUpdate

// TableId 注解存在更新記錄,否插入一條記錄
boolean saveOrUpdate(T entity);
// 根據(jù)updateWrapper嘗試更新,否繼續(xù)執(zhí)行saveOrUpdate(T)方法
boolean saveOrUpdate(T entity, Wrapper<T> updateWrapper);
// 批量修改插入
boolean saveOrUpdateBatch(Collection<T> entityList);
// 批量修改插入
boolean saveOrUpdateBatch(Collection<T> entityList, int batchSize);

Remove

// 根據(jù) entity 條件,刪除記錄
boolean remove(Wrapper<T> queryWrapper);
// 根據(jù) ID 刪除
boolean removeById(Serializable id);
// 根據(jù) columnMap 條件,刪除記錄
boolean removeByMap(Map<String, Object> columnMap);
// 刪除(根據(jù)ID 批量刪除)
boolean removeByIds(Collection<? extends Serializable> idList);

 Update

// 根據(jù) UpdateWrapper 條件,更新記錄 需要設(shè)置
boolean update(Wrapper<T> updateWrapper);
// 根據(jù) whereWrapper 條件,更新記錄
boolean update(T updateEntity, Wrapper<T> whereWrapper);
// 根據(jù) ID 選擇修改
boolean updateById(T entity);
// 根據(jù)ID 批量更新
boolean updateBatchById(Collection<T> entityList);
// 根據(jù)ID 批量更新
boolean updateBatchById(Collection<T> entityList, int batchSize);

List

// 查詢所有
List<T> list();
// 查詢列表
List<T> list(Wrapper<T> queryWrapper);
// 查詢(根據(jù)ID 批量查詢)
Collection<T> listByIds(Collection<? extends Serializable> idList);
// 查詢(根據(jù) columnMap 條件)
Collection<T> listByMap(Map<String, Object> columnMap);
// 查詢所有列表
List<Map<String, Object>> listMaps();
// 查詢列表
List<Map<String, Object>> listMaps(Wrapper<T> queryWrapper);
// 查詢?nèi)坑涗?
List<Object> listObjs();
// 查詢?nèi)坑涗?
<V> List<V> listObjs(Function<? super Object, V> mapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?
List<Object> listObjs(Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?
<V> List<V> listObjs(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);

Page

// 無條件分頁查詢
IPage<T> page(IPage<T> page);
// 條件分頁查詢
IPage<T> page(IPage<T> page, Wrapper<T> queryWrapper);
// 無條件分頁查詢
IPage<Map<String, Object>> pageMaps(IPage<T> page);
// 條件分頁查詢
IPage<Map<String, Object>> pageMaps(IPage<T> page, Wrapper<T> queryWrapper);

Count

// 查詢總記錄數(shù)
int count();
// 根據(jù) Wrapper 條件,查詢總記錄數(shù)
int count(Wrapper<T> queryWrapper);

query

// 鏈?zhǔn)讲樵?普通
QueryChainWrapper<T> query();
// 鏈?zhǔn)讲樵?lambda 式。注意:不支持 Kotlin
LambdaQueryChainWrapper<T> lambdaQuery(); 
 
// 示例:
query().eq("column", value).one();
lambdaQuery().eq(Entity::getId, value).list();

update

// 鏈?zhǔn)礁?普通
UpdateChainWrapper<T> update();
 
// 鏈?zhǔn)礁?lambda 式。注意:不支持 Kotlin 
LambdaUpdateChainWrapper<T> lambdaUpdate();
 
// 示例:
update().eq("column", value).remove();
lambdaUpdate().eq(Entity::getId, value).update(entity);

Delete

// 根據(jù) entity 條件,刪除記錄
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
// 刪除(根據(jù)ID 批量刪除)
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根據(jù) ID 刪除
int deleteById(Serializable id);
// 根據(jù) columnMap 條件,刪除記錄
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

Select

// 根據(jù) ID 查詢
T selectById(Serializable id);
// 根據(jù) entity 條件,查詢一條記錄
T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
 
// 查詢(根據(jù)ID 批量查詢)
List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根據(jù) entity 條件,查詢?nèi)坑涗?
List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 查詢(根據(jù) columnMap 條件)
List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?
List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗?。注意?只返回第一個字段的值
List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
 
// 根據(jù) entity 條件,查詢?nèi)坑涗洠ú⒎摚?
IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢?nèi)坑涗洠ú⒎摚?
IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根據(jù) Wrapper 條件,查詢總記錄數(shù)
Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

到此這篇關(guān)于使用Mybatis-plus清空表數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Mybatis-plus清空表數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java String類功能、原理與應(yīng)用案例【統(tǒng)計、判斷、轉(zhuǎn)換等】

    java String類功能、原理與應(yīng)用案例【統(tǒng)計、判斷、轉(zhuǎn)換等】

    這篇文章主要介紹了java String類功能、原理與應(yīng)用案例,結(jié)合實例形式詳細(xì)分析了java String類的基本功能、構(gòu)造方法,以及使用String類實現(xiàn)統(tǒng)計、判斷、轉(zhuǎn)換等功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • spring多數(shù)據(jù)源配置實現(xiàn)方法實例分析

    spring多數(shù)據(jù)源配置實現(xiàn)方法實例分析

    這篇文章主要介紹了spring多數(shù)據(jù)源配置實現(xiàn)方法,結(jié)合實例形式分析了spring多數(shù)據(jù)源配置相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-12-12
  • SpringSecurity實現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    SpringSecurity實現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    本文主要介紹了SpringSecurity實現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Java 8 引入lambda表達(dá)式的原因解析

    Java 8 引入lambda表達(dá)式的原因解析

    這篇文章主要介紹了Java 8 引入lambda表達(dá)式的原因解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 簡單分析Java線程編程中ThreadLocal類的使用

    簡單分析Java線程編程中ThreadLocal類的使用

    這篇文章主要介紹了Java線程編程中ThreadLocal類的使用,包括使用其對共享變量的操作的分析,需要的朋友可以參考下
    2015-12-12
  • java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫

    java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了java讀取cvs文件并導(dǎo)入數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 詳解Gradle安裝并配置到IDEA的方法

    詳解Gradle安裝并配置到IDEA的方法

    這篇文章主要介紹了Gradle安裝并配置到IDEA的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • java調(diào)用通義千問API的詳細(xì)完整步驟

    java調(diào)用通義千問API的詳細(xì)完整步驟

    通義千問是阿里云自主研發(fā)的大語言模型,能夠在用戶自然語言輸入的基礎(chǔ)上,通過自然語言理解和語義分析,理解用戶意圖,在不同領(lǐng)域、任務(wù)內(nèi)為用戶提供服務(wù)和幫助,下面這篇文章主要給大家介紹了關(guān)于java調(diào)用通義千問API的詳細(xì)完整步驟,需要的朋友可以參考下
    2024-02-02
  • 微信開發(fā)協(xié)議小結(jié)

    微信開發(fā)協(xié)議小結(jié)

    通過本教程給大家分享微信開發(fā)協(xié)議小結(jié)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • Java自定義實現(xiàn)鏈隊列詳解

    Java自定義實現(xiàn)鏈隊列詳解

    這篇文章主要為大家詳細(xì)介紹了Java自定義實現(xiàn)鏈隊列的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12

最新評論

贵州省| 芒康县| 通城县| 文水县| 高碑店市| 岢岚县| 五原县| 彝良县| 莎车县| 桂平市| 莎车县| 镇巴县| 师宗县| 大理市| 花莲市| 襄垣县| 灵川县| 彝良县| 砀山县| 彭水| 东阳市| 汉源县| 千阳县| 凉城县| 阿尔山市| 济宁市| 五华县| 武城县| 工布江达县| 永修县| 龙川县| 咸宁市| 漳州市| 玉门市| 玉屏| 西和县| 田林县| 台州市| 鹿泉市| 宣化县| 西畴县|