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

【Java系列】Mybatis-Plus 使用方式介紹

這篇具有很好參考價值的文章主要介紹了【Java系列】Mybatis-Plus 使用方式介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Java系列】Mybatis-Plus 使用方式介紹

1 Mybatis-Plus簡介

Mybatis-Plus 提供了多種方式來執(zhí)行 SQL,包括使用注解、XML 映射文件和 Lambda 表達式等。其中,使用 Lambda 表達式是 Mybatis-Plus 推薦的方式,因為它更加直觀和類型安全。

2 使用方法

1??Lambda 表達式執(zhí)行 SQL

以下是一個使用 Lambda 表達式執(zhí)行 SQL 的示例,現(xiàn)在我們有一個名為?User?的實體類,其中包含?idname?和?age?屬性:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Override
    public List<User> getUsersByName(String name) {
        LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(User::getName, name);
        return baseMapper.selectList(queryWrapper);
    }
}

在這個示例中,我創(chuàng)建了一個?LambdaQueryWrapper?對象,使用?eq?方法指定查詢條件為?name = #{name},其中?#{name}?是參數(shù)占位符。

然后,調(diào)用?baseMapper.selectList?方法執(zhí)行查詢,并返回查詢結(jié)果。

2 組合示例?

要傳遞參數(shù),可以將參數(shù)作為方法的參數(shù),并在查詢條件中使用?eq、ne、inlike?等方法指定參數(shù)值。

例如,假設(shè)要查詢年齡大于等于?minAge,小于等于?maxAge?的用戶,可以修改上面的示例代碼如下:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Override
    public List<User> getUsersByAge(int minAge, int maxAge) {
        LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.ge(User::getAge, minAge).le(User::getAge, maxAge);
        return baseMapper.selectList(queryWrapper);
    }
}

在這個示例中,我添加了一個新的方法?getUsersByAge,其中兩個參數(shù)?minAge?和?maxAge?分別表示最小年齡和最大年齡。

使用?ge?方法指定年齡大于等于?minAge,使用?le?方法指定年齡小于等于?maxAge。

然后,調(diào)用?baseMapper.selectList?方法執(zhí)行查詢,并返回查詢結(jié)果。

3 復(fù)雜sql??

另外,如果需要執(zhí)行復(fù)雜的 SQL,例如聯(lián)合查詢、分組查詢等,可以使用 Mybatis-Plus 提供的 SQL 構(gòu)建器,它可以幫助你構(gòu)建復(fù)雜的 SQL 語句。

以下是一個使用 SQL 構(gòu)建器執(zhí)行聯(lián)合查詢的示例,假設(shè)你有一個名為?Order?的實體類,其中包含?id、userId?和?amount?屬性,你需要查詢每個用戶的訂單總金額:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;

@Service
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {

    @Override
    public List<Map<String, Object>> getOrderAmountByUser() {
        QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("user_id", "sum(amount) as total_amount")
                    .groupBy("user_id");
        return baseMapper.selectMaps(queryWrapper);
    }
}

在這個示例中,我創(chuàng)建了一個?QueryWrapper?對象,使用?select?方法指定要查詢的字段為?user_id?和?sum(amount) as total_amount,其中?sum(amount)?表示每個用戶的訂單總金額,as total_amount?是為結(jié)果集中的這個字段取別名。

然后,使用?groupBy?方法將結(jié)果按照?user_id?進行分組。

最后,調(diào)用?baseMapper.selectMaps?方法執(zhí)行查詢,并返回查詢結(jié)果。

注意,在使用 SQL 構(gòu)建器執(zhí)行復(fù)雜的 SQL 語句時,需要使用正確的 SQL 語法,并且需要特別注意 SQL 注入的問題。

可以使用 Mybatis-Plus 提供的參數(shù)綁定方式來避免 SQL 注入問題,例如?#{param}、${param}?等方式。

3 其他注入sql的方式?

Mybatis-Plus 提供了多種注入 SQL 的方式,包括使用注解、XML 映射文件和 Lambda 表達式等。

不同的注入方式適用于不同的場景和需求,可以根據(jù)具體情況選擇適合的方式。

以下是幾種常用的注入 SQL 的方式:

1 使用注解

可以使用?@Select@Update、@Delete、@Insert?注解來注入 SQL 語句。例如:

@Select("SELECT * FROM user WHERE name = #{name}")
List<User> selectByName(@Param("name") String name);

在這個示例中,使用?@Select?注解注入了一條查詢語句,其中?#{name}?表示參數(shù)占位符,@Param("name")?表示參數(shù)名稱。

使用這種方式注入 SQL 語句比較簡單,但是不夠靈活,不支持復(fù)雜的 SQL 語句。

2 使用 XML 映射文件

可以使用 XML 映射文件來注入 SQL 語句,這種方式可以支持復(fù)雜的 SQL 語句,并且可以將 SQL 和 Java 代碼分離。

例如:在?UserMapper.xml?文件中:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <select id="selectByName" resultType="User">
        SELECT * FROM user WHERE name = #{name}
    </select>
</mapper>

在?UserMapper.java?文件中:

List<User> selectByName(@Param("name") String name);

在這個示例中,將查詢語句寫在 XML 映射文件中,使用?<select>?標簽指定 SQL 語句,并使用?resultType?屬性指定返回結(jié)果類型。然后,在 Java 代碼中調(diào)用該方法即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-466695.html

到了這里,關(guān)于【Java系列】Mybatis-Plus 使用方式介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • mybatis-plus分頁方式

    mybatis-plus分頁方式

    概述 MyBatisPlus中提供的(自帶的)分頁插件,非常簡單,只需要簡單的配置就可以實現(xiàn)分頁功能。 詳細步驟: 第一步::config.MybatisPlusConfig.java:配置類,配置mybatisplus的插件功能。 第二步:驗證(測試): 官網(wǎng)介紹: IXxxService.java: XxxServiceImpl.java: XxxController.java 業(yè)務(wù)(

    2024年02月16日
    瀏覽(17)
  • mybatis-plus配置日志實現(xiàn)方式

    Mybatis-plus是一個基于Mybatis的強大框架,可以幫助開發(fā)者快速地開發(fā)高質(zhì)量的數(shù)據(jù)庫應(yīng)用程序。Mybatis-plus提供了許多配置項,其中一個重要的配置項是log-impl。 log-impl配置項定義了Mybatis-plus的日志實現(xiàn)方式,有兩種可選的方式: SLF4J日志實現(xiàn) 如果你的項目已經(jīng)使用了SLF4J日志框

    2024年02月09日
    瀏覽(28)
  • MyBatis-plus的批量插入方式對比分析

    ??【摘要】Mybatis批量插入一直是開發(fā)者重點關(guān)注的問題,本文列舉了Mybatis的五種插入方式進行對比分析,驗證了五種批量插入的方式的優(yōu)先級。 ??略。 1、編寫UserService服務(wù)類,測試一萬條數(shù)據(jù)的耗時情況: 2、編寫UserMapper接口 3、編寫UserMapper.xml文件 4、進行單元測試

    2024年02月07日
    瀏覽(24)
  • mybatis-plus進行update的三種方式

    2024年02月12日
    瀏覽(20)
  • mybatis-plus update更新操作(三種方式)

    MyBatis-Plus (opens new window)(簡稱 MP)是一個 MyBatis (opens new window)的增強工具,在 MyBatis 的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生。 愿景 我們的愿景是成為 MyBatis 最好的搭檔,就像 魂斗羅 中的 1P、2P,基友搭配,效率翻倍。 方式一(UpdateWrapper 條件構(gòu)造器) 方

    2024年02月11日
    瀏覽(21)
  • 窺探系列之Mybatis-plus XML分頁查詢

    窺探系列之Mybatis-plus XML分頁查詢

    Page類在mybatisPlus中用于分頁查詢,繼承Pagination類,Pagination類的searchCount字段控制是否查詢總記錄數(shù) 順著看哪里用到了searchCount: com.baomidou.mybatisplus.plugins.PaginationInterceptor 是mybatisPlus的一個插件,也就是說mybatis是通過插件的方式在分頁的時候查詢總數(shù); 紅圈中使用sql解析包

    2024年02月13日
    瀏覽(25)
  • Mybatis-Plus批量添加或修改數(shù)據(jù)的三種方式

    Mybatis-Plus批量添加或修改數(shù)據(jù)的三種方式

    提供的方法 是遍歷每一個元素,判斷主鍵是否存在,如果存在則做更新,不存在添加 先獲取表中所有的主鍵 ,然后 判斷是否已存在,存在更新,不存在添加 on duplicate key update 是Mysql特有的語法,如下圖所示,表中id 為主鍵 再插入id為1的數(shù)據(jù),則提示主鍵已存在 改成如下

    2024年02月06日
    瀏覽(20)
  • 從零開始學Spring Boot系列-集成MyBatis-Plus

    從零開始學Spring Boot系列-集成MyBatis-Plus

    在Spring Boot應(yīng)用開發(fā)中,MyBatis-Plus是一個強大且易于使用的MyBatis增強工具,它提供了很多實用的功能,如代碼生成器、條件構(gòu)造器、分頁插件等,極大地簡化了MyBatis的使用和配置。本篇文章將指導大家如何在Spring Boot項目中集成MyBatis-Plus。 首先,確保你已經(jīng)安裝了Java開發(fā)環(huán)

    2024年04月08日
    瀏覽(75)
  • Mybatis-Plus之四種lambda方式LambdaQueryWrapper,QueryWrapper<實體>().lambda(),LambdaQueryChainWrapper<實體>

    Mybatis-Plus之四種lambda方式LambdaQueryWrapper,QueryWrapper<實體>().lambda(),LambdaQueryChainWrapper<實體>

    lambda四種表達形式 使用了lambda表達式 可以通過方法引用的方式來使用實體字段名的操作,避免直接寫數(shù)據(jù)庫表字段名時的錯寫名字; 一、LambdaQueryWrapper 二、QueryWrapper實體().lambda() 三、Wrappers.實體lambdaQuery(),Wrappers.lambdaQuery(實體.class) Wrappers.實體lambdaQuery() Wrappers.lambdaQuery(實

    2023年04月11日
    瀏覽(38)
  • 【MyBatis-Plus】MyBatis進階使用

    【MyBatis-Plus】MyBatis進階使用

    目錄 一、MyBatis-Plus簡介 1.1 介紹 1.2 優(yōu)點 1.3 結(jié)構(gòu) 二、MyBatis-Plus基本使用 2.1 配置 2.2 代碼生成 2.3 CRUD接口測試 三、MyBatis-Plus策略詳解 3.1 主鍵生成策略 3.2 雪花ID生成器 3.3 字段自動填充策略 3.4 邏輯刪除 四、MyBatis-Plus插件使用 4.1?樂觀鎖插件 4.1.1?什么是樂觀鎖和悲觀鎖? 4.

    2024年02月04日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包