【Mybatis-plus-join】 自定义查询字段和表别名关键字

Metadata

title: 【Mybatis-plus-join】 自定义查询字段和表别名关键字
date: 2023-01-22 18:35
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/Mybatis-plus-join
categories:
  - Mybatis-plus-join
keywords:
  - Mybatis-plus-join
description: 【Mybatis-plus-join】 自定义查询字段和表别名关键字

【Mybatis-plus-join】 自定义查询字段和表别名关键字

为何要这个东西,因为在不同数据库之间,别名关键字不一样,例如Mysql表别名是 As 而oracle中 是 is 关键字所以需要

Oracle 示例

// 以oracle 关键字为例
  @Bean
    public MybatisPlusJoinConfig mybatisPlusJoinConfig() {
        return MybatisPlusJoinConfig.builder()
                // 查询字段别名关键字
                .columnAliasKeyword("is")
                // 表、left join、right join、inner join 表别名关键字
                .tableAliasKeyword("is")
                .build();
    }
SELECT 1 is id
FROM users is users

MySQL

    @Bean
    public MybatisPlusJoinConfig mybatisPlusJoinConfig() {
        return MybatisPlusJoinConfig.builder()
                // 查询字段别名关键字
                .columnAliasKeyword("as")
                // 表、left join、right join、inner join 表别名关键字
                .tableAliasKeyword("as")
                /*
                  是否使用MappedStatement缓存,如果使用在JoinInterceptor中就会更改
                  MappedStatement的id,导致mybatis-plus-mate 的某些拦截器插件报错,
                  设置成false,代表不使用缓存则不会更改MappedStatement的id
                 */
                .build();
    }