国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MyBatis與MyBatis-Plus的分頁(yè)以及轉(zhuǎn)換

這篇具有很好參考價(jià)值的文章主要介紹了MyBatis與MyBatis-Plus的分頁(yè)以及轉(zhuǎn)換。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、介紹

MyBatis和MyBatis-Plus都是Java持久化框架,用于簡(jiǎn)化數(shù)據(jù)庫(kù)訪問(wèn)和操作。它們提供了面向?qū)ο蟮姆绞絹?lái)管理關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

MyBatis是一個(gè)輕量級(jí)的持久化框架,通過(guò)XML或注解配置,將SQL語(yǔ)句與Java對(duì)象進(jìn)行映射,使開發(fā)者可以使用簡(jiǎn)單的API來(lái)執(zhí)行數(shù)據(jù)庫(kù)操作。MyBatis支持動(dòng)態(tài)SQL、緩存、批處理等功能,并與多種數(shù)據(jù)庫(kù)兼容。

MyBatis-Plus是在MyBatis的基礎(chǔ)上構(gòu)建的增強(qiáng)版框架。它提供了更多的便利功能和增強(qiáng)特性,使開發(fā)者能夠更加高效地進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)。MyBatis-Plus內(nèi)置了常見的CRUD操作方法,還提供了代碼生成器、分頁(yè)插件、邏輯刪除、多租戶支持等功能,大大簡(jiǎn)化了開發(fā)流程。

總結(jié)而言,MyBatis是一個(gè)成熟且靈活的持久化框架,而MyBatis-Plus則是在此基礎(chǔ)上進(jìn)行了擴(kuò)展和增強(qiáng),提供了更多的便利功能和工具。選擇使用哪個(gè)框架取決于項(xiàng)目需求和個(gè)人偏好。

二、MyBatis與MyBatis-Plus區(qū)別

1、MyBatis:

特點(diǎn):

MyBatis是一款持久層框架,它通過(guò)XML或注解配置SQL映射關(guān)系,將數(shù)據(jù)庫(kù)操作與Java對(duì)象的映射分離。它提供了靈活的SQL編寫方式,支持動(dòng)態(tài)SQL和批量操作等功能。

優(yōu)點(diǎn):

1、靈活性高:MyBatis通過(guò)XML或注解配置SQL語(yǔ)句,可以滿足各種復(fù)雜的SQL需求,包括動(dòng)態(tài)SQL、復(fù)雜查詢等。

2、性能好:MyBatis可以手動(dòng)優(yōu)化SQL語(yǔ)句,保證數(shù)據(jù)庫(kù)訪問(wèn)的效率。

3、易于集成:MyBatis可以與各種第三方框架(如Spring)無(wú)縫集成,使用起來(lái)比較方便。

缺點(diǎn):

1、編寫工作量大:相對(duì)于其他ORM框架,MyBatis需要手動(dòng)編寫SQL語(yǔ)句,會(huì)增加一定的開發(fā)工作量。

2、學(xué)習(xí)成本較高:MyBatis需要掌握SQL語(yǔ)句的編寫和框架的配置,對(duì)于初學(xué)者來(lái)說(shuō),學(xué)習(xí)曲線較陡峭。

2、MyBatis-Plus

特點(diǎn):

MyBatis-Plus是在MyBatis基礎(chǔ)上進(jìn)行封裝的增強(qiáng)工具,提供了更便捷的CRUD操作和一些常用功能的封裝。

優(yōu)點(diǎn):

1、簡(jiǎn)化開發(fā):MyBatis-Plus提供了一系列的CRUD操作方法和查詢構(gòu)造器,可以極大地簡(jiǎn)化開發(fā)過(guò)程,減少重復(fù)代碼的編寫。

2、更加易用:MyBatis-Plus提供了一些常用功能的封裝,如分頁(yè)查詢、邏輯刪除等,開發(fā)人員可以更輕松地使用這些功能,提高開發(fā)效率。

3、自動(dòng)生成CRUD方法:MyBatis-Plus支持根據(jù)數(shù)據(jù)庫(kù)表自動(dòng)生成對(duì)應(yīng)的實(shí)體類和Mapper接口,大大減少了手動(dòng)編寫CRUD方法的工作量。

缺點(diǎn):

1、對(duì)于復(fù)雜SQL的支持較弱:相比于MyBatis,MyBatis-Plus在處理一些復(fù)雜的SQL語(yǔ)句時(shí),可能會(huì)有一定的限制。

區(qū)別:

主要區(qū)別如下:

1、MyBatis需要手動(dòng)傳遞offsetlimit參數(shù),而MyBatis-Plus使用Page對(duì)象來(lái)封裝分頁(yè)信息。

2、MyBatis-Plus提供了更簡(jiǎn)單的API,如selectPage(),可以自動(dòng)計(jì)算總記錄數(shù)并返回分頁(yè)結(jié)果。

3、MyBatis-Plus還提供了更多高級(jí)的分頁(yè)查詢功能,如排序、自定義SQL等。

選擇使用哪種方式取決于個(gè)人偏好和項(xiàng)目需求。如果你希望更簡(jiǎn)潔、方便的方式實(shí)現(xiàn)分頁(yè)查詢,可以考慮使用MyBatis-Plus。

三、MyBatis分頁(yè)

在MyBatis中,分頁(yè)查詢需要使用兩個(gè)參數(shù):offset(偏移量)和limit(限制數(shù)量),它們用于控制查詢結(jié)果的起始位置和返回的記錄數(shù)。下面是一個(gè)使用MyBatis進(jìn)行分頁(yè)查詢的示例:

@Mapper
public interface UserMapper {
    List<User> getUsers(@Param("offset") int offset, @Param("limit") int limit);
}

然后,在XML映射文件中,使用${}占位符來(lái)引用這兩個(gè)參數(shù):?

<select id="getUsers" resultType="User">
    SELECT * FROM users
    LIMIT #{offset}, #{limit}
</select>

?通過(guò)傳遞正確的offsetlimit值,可以實(shí)現(xiàn)分頁(yè)查詢。

四、MyBatis-Plus分頁(yè)

相比之下,MyBatis-Plus提供了更簡(jiǎn)單的分頁(yè)查詢方式。它引入了一個(gè)Page對(duì)象,該對(duì)象封裝了與分頁(yè)相關(guān)的信息,如當(dāng)前頁(yè)碼、每頁(yè)記錄數(shù)等。下面是使用MyBatis-Plus進(jìn)行分頁(yè)查詢的示例:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public Page<User> getUsers(int pageNo, int pageSize) {
        Page<User> page = new Page<>(pageNo, pageSize);
        return userMapper.selectPage(page, null);
    }
}

在這個(gè)例子中,Page<User>對(duì)象用于封裝分頁(yè)信息,并且通過(guò)userMapper.selectPage()方法進(jìn)行查詢。

需要注意的是,MyBatis-Plus還提供了更多高級(jí)的分頁(yè)查詢功能,例如自動(dòng)計(jì)算總記錄數(shù)、排序等。

五、MyBatis向MyBatis-Plus轉(zhuǎn)換

步驟 1:添加相關(guān)依賴

首先,在項(xiàng)目的構(gòu)建文件中(如Maven的pom.xml或Gradle的build.gradle)添加MyBatis-Plus的依賴。根據(jù)你的具體需求和項(xiàng)目環(huán)境,可以在這里找到相應(yīng)的依賴:MyBatis-Plus官方文檔

步驟 2:修改Mapper接口

在Mapper接口中,使用com.baomidou.mybatisplus.core.mapper.BaseMapper作為父接口,該接口包含了MyBatis-Plus提供的CRUD方法以及分頁(yè)查詢方法。

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface YourMapper extends BaseMapper<YourEntity> {
}

步驟 3:配置分頁(yè)插件

在MyBatis的配置文件中(通常是mybatis-config.xml),添加MyBatis-Plus的分頁(yè)插件配置。這個(gè)插件會(huì)自動(dòng)攔截原本的分頁(yè)查詢語(yǔ)句并實(shí)現(xiàn)分頁(yè)功能。

<configuration>
    <!-- 其他配置 -->
    
    <plugins>
        <plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
            <property name="dialectType" value="mysql"/> <!-- 數(shù)據(jù)庫(kù)類型 -->
        </plugin>
    </plugins>
</configuration>

步驟 4:修改分頁(yè)查詢方法

在原先的分頁(yè)查詢方法中,將PageHelper.startPage()替換為MyBatis-Plus提供的com.baomidou.mybatisplus.extension.plugins.pagination.Page對(duì)象,并調(diào)用對(duì)應(yīng)的分頁(yè)方法。

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Repository;

@Repository
public class YourRepository {
    private final YourMapper yourMapper;

    public YourRepository(YourMapper yourMapper) {
        this.yourMapper = yourMapper;
    }
    
    public Page<YourEntity> findEntitiesWithPagination(int pageNum, int pageSize) {
        return yourMapper.selectPage(new Page<>(pageNum, pageSize), null);
    }
}

這樣就完成了將MyBatis的分頁(yè)改為MyBatis-Plus的分頁(yè)的步驟。請(qǐng)根據(jù)你的具體項(xiàng)目和需求進(jìn)行相應(yīng)的修改和調(diào)整。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-682482.html

到了這里,關(guān)于MyBatis與MyBatis-Plus的分頁(yè)以及轉(zhuǎn)換的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MyBatis-Plus 分頁(yè)設(shè)置不生效

    MyBatis-Plus 分頁(yè)設(shè)置不生效

    在配置類上加攔截器 2.當(dāng)你設(shè)置了數(shù)據(jù)源需要在數(shù)據(jù)源上添加攔截器

    2024年02月15日
    瀏覽(18)
  • mybatis-plus實(shí)現(xiàn)分頁(yè)查詢

    mybatis-plus實(shí)現(xiàn)分頁(yè)查詢

    分頁(yè)查詢使用的方法是: IPage:用來(lái)構(gòu)建分頁(yè)查詢條件 Wrapper:用來(lái)構(gòu)建條件查詢的條件,目前我們沒(méi)有可直接傳為Null IPage:返回值,你會(huì)發(fā)現(xiàn)構(gòu)建分頁(yè)條件和方法的返回值都是IPage IPage是一個(gè)接口,我們需要找到它的實(shí)現(xiàn)類來(lái)構(gòu)建它,具體的實(shí)現(xiàn)類,可以進(jìn)入到IPage類中按ctrl+

    2023年04月08日
    瀏覽(23)
  • Mybatis-Plus學(xué)習(xí)4 Page分頁(yè)

    Mybatis-Plus學(xué)習(xí)4 Page分頁(yè)

    ctrl + P = 查看可填的屬性類型? alt + 回車 = 自動(dòng)填充數(shù)據(jù)類型 1、使用Page分頁(yè)需要先配置config類,加上攔截器 type-aliasys-package配置pojo對(duì)象別名對(duì)應(yīng)的包 自定義的Mapper的page查詢: 樂(lè)觀鎖 和 悲觀鎖 悲觀鎖: 悲觀鎖的思想是,在操作數(shù)據(jù)之前,先假設(shè)其他并發(fā)操作會(huì)對(duì)數(shù)據(jù)進(jìn)行

    2024年02月12日
    瀏覽(17)
  • MyBatis-Plus分頁(yè)查詢(快速上手運(yùn)用)

    MyBatis-Plus分頁(yè)查詢(快速上手運(yùn)用)

    Mybatis-Plus知識(shí)點(diǎn)[MyBatis+MyBatis-Plus的基礎(chǔ)運(yùn)用]_心態(tài)還需努力呀的博客-CSDN博客?? Mybatis-Plus+SpringBoot結(jié)合運(yùn)用_心態(tài)還需努力呀的博客-CSDN博客 MyBaits-Plus中@TableField和@TableId用法_心態(tài)還需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作(通過(guò)id更新和條件更新)_心態(tài)還需努力呀的博

    2024年02月16日
    瀏覽(22)
  • Mybatis-plus 分頁(yè) 自定義count方法

    使用了mybatisplus 語(yǔ)句中有order by 語(yǔ)法 mybatisplus會(huì)使用 select count(*) from (子語(yǔ)句) TOTAL 算出total 但是會(huì)報(bào)錯(cuò) 查詢條件QueryWrapper中還有order by排序條件,則生成的select count(*) from(sql) 就會(huì)報(bào)錯(cuò) 除非另外還指定了 TOP、OFFSET 或 FOR XML,否則,ORDER BY 子句在視圖、內(nèi)聯(lián)函數(shù)、派生表、子查

    2024年04月23日
    瀏覽(16)
  • MyBatis-Plus Page 分頁(yè)不生效

    一、問(wèn)題現(xiàn)象 使用 MyBatis-Plus 進(jìn)行分頁(yè)查詢時(shí),傳入了 pageNum 和 pageSize,但是查詢結(jié)果沒(méi)有按照預(yù)期的效果返回。 二、問(wèn)題原因 沒(méi)有對(duì) Mybatis-Puls 進(jìn)行初始化,需要添加相應(yīng)的配置類。 三、解決方案 在項(xiàng)目工程中創(chuàng)建 config 目錄,在其中新建配置類 MyBatisPlusConfig.java 。 注意

    2024年02月12日
    瀏覽(14)
  • MyBatis-Plus自定義分頁(yè)模型

    MyBatis-Plus自帶的分頁(yè)模型Page有些參數(shù),我覺得不是很必要,因此自定義自己的分頁(yè)模型。該類繼承了 IPage 類,實(shí)現(xiàn)了簡(jiǎn)單分頁(yè)模型如果你要實(shí)現(xiàn)自己的分頁(yè)模型可以繼承 Page 類或者實(shí)現(xiàn) IPage 類。因?yàn)镴ava是單繼承多實(shí)現(xiàn)的,所以我們使用實(shí)現(xiàn)IPage接口的方式實(shí)現(xiàn)我們自己的分

    2024年02月12日
    瀏覽(18)
  • springboot使用Mybatis-plus分頁(yè)插件

    在? pom.xml ? 文件中添加 MyBatis Plus 和分頁(yè)插件的依賴: 注意替換? {mybatis-plus-version} ?為對(duì)應(yīng)的版本號(hào)。 在 Spring Boot 的配置文件? application.yml ? 中添加分頁(yè)插件的配置參數(shù): 注意代碼中的注釋,其中 ? PaginationInterceptor ?表示使用 MyBatis Plus 提供的分頁(yè)插件。 在接口層使用

    2024年02月07日
    瀏覽(21)
  • 【SpringBoot】MyBatis與MyBatis-Plus分頁(yè)查詢 & github中的PageHelper

    【SpringBoot】MyBatis與MyBatis-Plus分頁(yè)查詢 & github中的PageHelper

    ??????? 筆者寫這篇博客是因?yàn)榻谟龅降年P(guān)于兩者之間的分頁(yè)代碼差距,其實(shí)之前也遇見過(guò)但是沒(méi)有去整理這篇博客,但由于還是被困擾了小一會(huì)兒時(shí)間,所以還是需要 加深記憶 。其實(shí)會(huì)看前后端傳參解決這個(gè)問(wèn)題很快、不麻煩。關(guān)于這兩個(gè)框架的分頁(yè)代碼問(wèn)題主要就

    2024年02月03日
    瀏覽(25)
  • mybatis-plus分頁(yè)查詢?nèi)N方法

    mybatis-plus分頁(yè)查詢?nèi)N方法

    說(shuō)明: 1、mybatis-plus中分頁(yè)接口需要包含一個(gè)IPage類型的參數(shù)。 2、多個(gè)實(shí)體參數(shù),需要添加@Param參數(shù)注解,方便在xml中配置sql時(shí)獲取參數(shù)值。 注意這里我雖然加了@Param但是我并沒(méi)有使用 這是控制臺(tái)打印的查詢語(yǔ)句,大家發(fā)現(xiàn)最后的LIMIT 函數(shù)沒(méi),正常來(lái)說(shuō)mybatis-plus里是沒(méi)有寫

    2024年01月25日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包