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

mybatis-plus實(shí)現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句實(shí)例

 更新時(shí)間:2022年09月18日 11:09:16   作者:Eric-x  
mybatisplus是個(gè)很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實(shí)現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句的相關(guān)資料,需要的朋友可以參考下

前言

本文介紹了在mybatis-plus中如何實(shí)現(xiàn):自定義SQL語句,多表查詢語句,多表分頁查詢語句

在說怎么實(shí)現(xiàn)之前我們要先明白一個(gè)概念,就是mybatis-plus是在mybatis的基礎(chǔ)上進(jìn)行增強(qiáng),并不做改變,所以mybatis的操作在mybatis-plus中也是一樣可以使用的,咱們直接上代碼

1、自定義SQL

在mapper中自定義一個(gè)方法即可

@Repository
public interface EduTeacherMapper extends BaseMapper<EduTeacher> {
    @Select("select * from edu_teacher")
    EduTeacherMapper selectTeacherList();
}

然后要調(diào)用該方法的話,通過注入mapper,然后通過mapper調(diào)用方法即可

@Service
public class EduTeacherServiceImpl extends ServiceImpl<EduTeacherMapper, EduTeacher> implements EduTeacherService {

    @Autowired
    private EduTeacherMapper teacherMapper;

    public EduTeacher selectTheacher(){
        return teacherMapper.selectTheacher();
    }
}

2、多表查詢

多表查詢和自定義SQL是一樣寫的,唯一區(qū)別就是需要?jiǎng)?chuàng)建一個(gè) vo類來接收數(shù)據(jù)即可。

@Repository
public interface EduTeacherMapper extends BaseMapper<EduTeacher> {
   @Select("SELECT * FROM edu_teacher t1 INNER JOIN edu_course t2 ON t1.id = t2.teacher_id")
   EduTeacherVo selectTheacher();
}

3、多表分頁查詢

分頁查詢的話就需要用到Page了

1、需要先創(chuàng)建一個(gè)配置類,然后在配置類中引入分頁插件(固定代碼)

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

2、mapper代碼如下:

public interface EduTeacherMapper extends BaseMapper<EduTeacher> {
    @Select("select * from edu_teacher")
    IPage<EduTeacher> selectTheacher(Page<EduTeacher> page);
}

3、serviceImpl實(shí)現(xiàn)類代碼如下:

@Service
public class EduTeacherServiceImpl extends ServiceImpl<EduTeacherMapper, EduTeacher> implements EduTeacherService {

    @Autowired
    private EduTeacherMapper teacherMapper;

    public void selectTheacher(){
        //1代表當(dāng)前頁數(shù),10代表每頁數(shù)據(jù)的數(shù)量
        Page<EduTeacher> page = new Page<>(1,10);
        IPage<EduTeacher> eduTeacherIPage = teacherMapper.selectTheacher(page);

        System.out.println(eduTeacherIPage.getCurrent());  //當(dāng)前頁
        System.out.println(eduTeacherIPage.getPages());    //每頁數(shù)據(jù) 是一個(gè)List集合
        System.out.println(eduTeacherIPage.getSize());     //每頁顯示記錄數(shù)
        System.out.println(eduTeacherIPage.getTotal());    //總記錄數(shù)
    }
}

4、多表分頁條件查詢

多表分頁條件查詢只是在多表分頁查詢的基礎(chǔ)上增加了條件篩選而已

其它步驟都和多表分頁查詢一樣,只要在mapper中寫sql的時(shí)候多加條件參數(shù)就可以了。注意:如果使用了動(dòng)態(tài)SQL,那么該sql語句一定要使用script標(biāo)簽包裹

@Select("<script>
  SELECT t1.id,t1.qiye_id,t1.member_tag,t1.name,t1.logo,t1.images,t1.video,t1.contacts_mobile,t1.contacts_name,t1.address,t1.sort,t1.sort,t1.click_num,t1.is_put,t1.company_type,t1.is_attestation,t1.is_recommend,t1.introduce,t1.create_time,t2.laoa_product_type_id AS productId,t3.laoa_style_id AS styleId FROM laoa_ad_logistics t1 LEFT JOIN laoa_product_middle t2 ON t1.qiye_id = t2.company_key LEFT JOIN laoa_style_middle t3 ON t1.qiye_id = t3.company_key
  <where>
    t1.company_type = 1
    <if test="adLogisticsVo.isOk == true">
      AND t1.is_put = 1
    </if>
    <if test="adLogisticsVo.name != null">
      AND t1.name LIKE CONCAT('%',#{adLogisticsVo.name},'%')
    </if>
    <if test="adLogisticsVo.styleId != null">
      AND t3.laoa_style_id = #{adLogisticsVo.styleId}
    </if>
    <if test="adLogisticsVo.productId != null">
      AND t2.laoa_product_type_id = #{adLogisticsVo.productId}
    </if>
  </where>
  ORDER BY t1.sort
</script>")
IPage<AdLogisticsVo> selectAdLogisticsList(@Param("page") IPage<AdLogisticsVo> page, @Param("adLogisticsVo") AdLogisticsVo adLogisticsVo);

總結(jié)

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

相關(guān)文章

  • Java中的Pair詳細(xì)

    Java中的Pair詳細(xì)

    這篇文章主要介紹Java中的很有意思的Pair,下面文章會(huì)以Pair用法展開,感興趣的小伙伴可以參考下面文章的具體內(nèi)容
    2021-10-10
  • spring設(shè)置定時(shí)任務(wù)方式(@Scheduled)

    spring設(shè)置定時(shí)任務(wù)方式(@Scheduled)

    這篇文章主要介紹了spring設(shè)置定時(shí)任務(wù)方式(@Scheduled),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • ReentrantLock實(shí)現(xiàn)原理詳解

    ReentrantLock實(shí)現(xiàn)原理詳解

    本文將對(duì)ReentrantLock實(shí)現(xiàn)原理進(jìn)行詳細(xì)的介紹,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • SpringBoot項(xiàng)目使用mybatis-plus代碼生成的實(shí)例詳解

    SpringBoot項(xiàng)目使用mybatis-plus代碼生成的實(shí)例詳解

    mybatis-plus是mybatis的增強(qiáng),不對(duì)mybatis做任何改變,涵蓋了代碼生成,自定義ID生成器,快速實(shí)現(xiàn)CRUD,自動(dòng)分頁,邏輯刪除等功能。本文就來講講SpringBoot項(xiàng)目如何使用mybatis-plus實(shí)現(xiàn)代碼生成,需要的可以了解一下
    2022-10-10
  • Spring?Data?JPA映射自定義實(shí)體類操作

    Spring?Data?JPA映射自定義實(shí)體類操作

    這篇文章主要介紹了Spring?Data?JPA映射自定義實(shí)體類操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 關(guān)于cron表達(dá)式每天整點(diǎn)執(zhí)行一次的問題

    關(guān)于cron表達(dá)式每天整點(diǎn)執(zhí)行一次的問題

    這篇文章主要介紹了關(guān)于cron表達(dá)式每天整點(diǎn)執(zhí)行一次的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • zuul轉(zhuǎn)發(fā)后服務(wù)取不到請(qǐng)求路徑的解決

    zuul轉(zhuǎn)發(fā)后服務(wù)取不到請(qǐng)求路徑的解決

    這篇文章主要介紹了zuul轉(zhuǎn)發(fā)后服務(wù)取不到請(qǐng)求路徑的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java lock同步鎖使用實(shí)例解析

    Java lock同步鎖使用實(shí)例解析

    這篇文章主要介紹了Java lock同步鎖使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Spring5新特性之Reactive響應(yīng)式編程

    Spring5新特性之Reactive響應(yīng)式編程

    這篇文章主要介紹了Spring5新特性之Reactive響應(yīng)式編程,響應(yīng)式編程是一種編程范式,通用和專注于數(shù)據(jù)流和變化的,并且是異步的,下文更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-03-03
  • JDBC鏈接數(shù)據(jù)庫的幾個(gè)步驟

    JDBC鏈接數(shù)據(jù)庫的幾個(gè)步驟

    這篇文章主要介紹了JDBC鏈接數(shù)據(jù)庫的幾個(gè)步驟,通過將數(shù)據(jù)庫的連接放在一個(gè)工具類里面,達(dá)到重用的效果,需要的朋友可以參考下
    2015-07-07

最新評(píng)論

嵊州市| 淮安市| 牙克石市| 伊金霍洛旗| 襄汾县| 滨州市| 汉中市| 乌苏市| 东乌| 平湖市| 寿宁县| 蚌埠市| 科技| 绿春县| 洪雅县| 自治县| 合水县| 天等县| 鸡西市| 峨眉山市| 碌曲县| 米易县| 镶黄旗| 龙山县| 塘沽区| 正宁县| 红桥区| 南召县| 广河县| 兰考县| 芦山县| 云龙县| 沂水县| 广东省| 芦山县| 墨脱县| 定襄县| 怀远县| 临安市| 阿城市| 新田县|