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

springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼

 更新時(shí)間:2021年03月08日 14:32:47   作者:團(tuán)子.  
這篇文章主要介紹了springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.新建一個(gè)springboot工程

2.需要導(dǎo)入mybatis和mybatis-plus的依賴文件

<dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.1.1</version>
    </dependency>
     <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.0.1</version>
    </dependency>

3.application.yml配置文件

server:
 port: 8080
spring:
 datasource:
  url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC
  username: root
  password: 數(shù)據(jù)庫密碼
mybatis:
 mapper-locations: classpath*:mapper/*.xml

mybatis-plus:
 mapper-locations: classpath:/mapper/*Mapper.xml
logging:
 level:
  com.tuanzi.*: debug

4.首先我們需要寫一個(gè)類來配置分頁插件

省略import
@EnableTransactionManagement
@Configuration
@MapperScan("com.tuanzi.*.mapper*")
public class MybatisPlusConfig {

  /**
   * 分頁插件
   */
  @Bean
  public PaginationInterceptor paginationInterceptor(){
    return new PaginationInterceptor();
  }
}

5.controller類

@RestController
@RequestMapping("/user")
public class UserController {

  @Autowired
  UserService userService;

  /**
   * 多表關(guān)聯(lián),分頁查詢(1對(duì)1)
   * @param page
   * @return
   */
  @RequestMapping("/findAll")
  public Result<IPage<User>> findAll(@RequestBody Page<User> page){

     return userService.pages(page);

  }

  /**
   * 多表關(guān)聯(lián),分頁查詢(1對(duì)多)
   * @param page
   * @return
   */
  @RequestMapping("/selectAll")
  public Result<IPage<User>> selectAll(@RequestBody Page<User> page){

    return userService.pageList(page);

  }
}

6.service類

public interface UserService extends IService<User> {

  Result<IPage<User>> pages(Page<User> page);

  Result<IPage<User>> pageList(Page<User> page);
}

7.service實(shí)現(xiàn)類

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

  @Autowired
  UserMapper userMapper;
  @Override
  public Result<IPage<User>> pages(Page<User> page) {
    IPage<User> userIPage = userMapper.Pages(page);
    return Result.getSuccess("分頁查詢成功",userIPage);
  }

  @Override
  public Result<IPage<User>> pageList(Page<User> page) {
    IPage<User> userIPage = userMapper.pageList(page);
    return Result.getSuccess("分頁查詢成功",userIPage);
  }
}

8.mapper接口

注意!!: 如果入?yún)⑹怯卸鄠€(gè),需要加注解指定參數(shù)名才能在xml中取值

@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {

  IPage<User> Pages(@Param("page") Page<User> page);

  IPage<User> pageList(@Param("page") Page<User> page);
}

9.xml文件

一對(duì)一關(guān)聯(lián)

 <!-- 一對(duì)一 通用查詢映射結(jié)果 -->
  <resultMap id="BaseResultMap1" type="com.tuanzi.user.entity.User">
    <result column="id" property="id" />
    <result column="name" property="name" />
    <result column="age" property="age" />
    <result column="email" property="email" />
    <!--assocication  一對(duì)一關(guān)聯(lián)查詢
        可以指定聯(lián)合的JavaBean對(duì)象
        property="work"指定哪個(gè)屬性是聯(lián)合的對(duì)象
        javaType:指定這個(gè)屬性對(duì)象的類型
      -->
    <association property="work" javaType="com.tuanzi.user.entity.Work">
      <result column="id" property="id" />
      <result column="position" property="position" />
      <result column="user_id" property="userId" />
    </association>
  </resultMap>

一對(duì)多關(guān)聯(lián)

<!-- 一對(duì)多 通用查詢映射結(jié)果 -->
  <resultMap id="BaseResultMap2" type="com.tuanzi.user.entity.User">
    <result column="id" property="id" />
    <result column="name" property="name" />
    <result column="age" property="age" />
    <result column="email" property="email" />
    <!--
		collection定義關(guān)聯(lián)結(jié)合類型的屬性的封裝規(guī)則
		property="workList"指定哪個(gè)屬性是聯(lián)合的對(duì)象
		ofType:指定集合里面元素的類型
		-->
    <collection property="workList" ofType="com.tuanzi.user.entity.Work">
      <result column="id" property="id" />
      <result column="position" property="position" />
      <result column="user_id" property="userId" />
    </collection>
  </resultMap>

SQL語句:

<select id="Pages" resultMap="BaseResultMap1">
    select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id
  </select>
  <select id="pageList" resultMap="BaseResultMap2">
    select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id
  </select>

10.這樣就基本完成了!我這里省略了實(shí)體類

我們運(yùn)行一下,用postman測試一下結(jié)果
這里我們需要傳2個(gè)參數(shù),當(dāng)然我們也可以不用傳,因?yàn)閙ybatis-plus有默認(rèn)值
來看下mybatis-plus的page源碼

在這里插入圖片描述

效果圖:

在這里插入圖片描述

在這里插入圖片描述

最后附贈(zèng)源碼地址:demo

到此這篇關(guān)于springboot整合mybatis-plus實(shí)現(xiàn)多表分頁查詢的示例代碼的文章就介紹到這了,更多相關(guān)springboot整合mybatis-plus多表分頁查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于openeuler的DataGear部署文檔

    基于openeuler的DataGear部署文檔

    本文詳細(xì)介紹了如何在openEuler操作系統(tǒng)上安裝和配置JDK以及DataGear,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • Java實(shí)現(xiàn)UTF-8編碼與解碼方式

    Java實(shí)現(xiàn)UTF-8編碼與解碼方式

    這篇文章主要介紹了Java實(shí)現(xiàn)UTF-8編碼與解碼方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • IDEA配置使用Maven Helper插件的方法(詳細(xì)配置)

    IDEA配置使用Maven Helper插件的方法(詳細(xì)配置)

    這篇文章主要介紹了Maven Helper插件IDEA配置使用(詳細(xì)配置),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解SpringIOC容器相關(guān)知識(shí)

    詳解SpringIOC容器相關(guān)知識(shí)

    這篇文章主要記錄自己在狂神說java中的學(xué)習(xí)情況,文章里有自己學(xué)習(xí)的理解和擴(kuò)展,新手難免有理解偏差或者錯(cuò)誤,懇請(qǐng)大佬指正下,需要的朋友可以參考下
    2021-05-05
  • 基于自定義校驗(yàn)注解(controller、method、(groups)分組的使用)

    基于自定義校驗(yàn)注解(controller、method、(groups)分組的使用)

    這篇文章主要介紹了基于自定義校驗(yàn)注解(controller、method、(groups)分組的使用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Maven介紹與配置+IDEA集成Maven+使用Maven命令小結(jié)

    Maven介紹與配置+IDEA集成Maven+使用Maven命令小結(jié)

    Maven是Apache軟件基金會(huì)的一個(gè)開源項(xiàng)目,是一個(gè)優(yōu)秀的項(xiàng)目構(gòu)建管理工具,它用來幫助開發(fā)者管理項(xiàng)目中的 jar,以及 jar 之間的依賴關(guān)系、完成項(xiàng)目的編譯、測試、打包和發(fā)布等工作,本文給大家介紹Maven介紹與配置+IDEA集成Maven+使用Maven命令,感興趣的朋友一起看看吧
    2024-01-01
  • Spring Data Redis對(duì)象緩存序列化問題解決

    Spring Data Redis對(duì)象緩存序列化問題解決

    相信在項(xiàng)目中,你一定是經(jīng)常使用Redis,在使用時(shí),有沒有遇到同我一樣,對(duì)象緩存序列化問題的呢,本文主要介紹了Spring Data Redis對(duì)象緩存序列化問題解決,感興趣的可以了解一下
    2024-01-01
  • RestTemplate如何通過HTTP?Basic?Auth認(rèn)證示例說明

    RestTemplate如何通過HTTP?Basic?Auth認(rèn)證示例說明

    這篇文章主要為大家介紹了RestTemplate如何通過HTTP?Basic?Auth認(rèn)證的示例說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • SpringBoot3整合pageHelper實(shí)現(xiàn)分頁功能

    SpringBoot3整合pageHelper實(shí)現(xiàn)分頁功能

    PageHelper是一個(gè)開源的Java分頁插件,它提供了方便的分頁查詢功能,適用于大多數(shù)基于Java的持久層框架(如MyBatis、Hibernate等),本文給大家介紹了springboot3整合pageHelper實(shí)現(xiàn)分頁功能的方法,需要的朋友可以參考下
    2024-08-08
  • java發(fā)送form-data請(qǐng)求實(shí)現(xiàn)文件上傳的示例代碼

    java發(fā)送form-data請(qǐng)求實(shí)現(xiàn)文件上傳的示例代碼

    最近做一個(gè)需求,需要請(qǐng)求第三方接口上傳文件,該請(qǐng)求類型是form-data請(qǐng)求,本文就來介紹一下java發(fā)送form-data請(qǐng)求實(shí)現(xiàn)文件上傳的示例代碼,感興趣的可以了解一下
    2023-12-12

最新評(píng)論

繁峙县| 兴仁县| 皮山县| 酒泉市| 寿光市| 菏泽市| 廉江市| 阳泉市| 饶阳县| 昌江| 万安县| 驻马店市| 绿春县| 分宜县| 神池县| 白水县| 盐边县| 烟台市| 新密市| 江永县| 五家渠市| 离岛区| 浙江省| 元谋县| 东辽县| 河池市| 公安县| 桐梓县| 图片| 胶南市| 绿春县| 平安县| 紫金县| 轮台县| 克山县| 敦化市| 马山县| 汝阳县| 绩溪县| 曲阳县| 卢湾区|