Mybatis-Plus(连接Hive)

2023-08-10 08:18:40 浏览数 (1)

序号

类型

地址

1

MySQL

MySQL操作之概念、SQL约束(一)

2

MySQL

MySQL操作之数据定义语言(DDL)(二)

3

MySQL

MySQL操作之数据操作语言(DML)(三)

4

MySQL

MySQL操作之数据查询语言:(DQL)(四-1)(单表操作)

5

MySQL

MySQL操作之数据查询语言:(DQL)(四-2)(多表查询)

6

MySQL

MySQL操作之数据控制语言:(DC)(五)

7

MySQL

MySQL操作之数据库函数

8

MySQL

MySQL管理之数据类型

9

MySQL

MySQL管理之索引

10

MySQL

MySQL管理之事务管理

11

MySQL

MySQL管理之存储过程

12

MySQL

MySQL管理之视图

13

MySQL

MySQL管理之数据备份与还原

14

MySQL

Linux(centos 7.5)服务器安装MySQL

15

MyBatis

MyBatis从入门到多表关联

16

MyBatis

MyBatis常用方法

17

MyBatis

Mybatis逆向工程的使用(附文件地址)

18

MyBatis

spring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)

19

MyBatis-Plus

Mybatis-Plus使用案例(包括初始化以及常用插件)

20

MyBatis-Plus

Mybatis-Plus(Service CRUD 接口)

21

MyBatis-Plus

Mybatis-plus 4种条件构造器方式

22

MyBatis-Plus

Mybatis-Plus 执行自定义SQL

23

MyBatis-Plus

MyBatis-plus配置自定义SQL(执行用户传入SQL)

24

MyBatis-Plus

Mybatis-Plus(连接Hive)

25

MyBatis-Plus

Mybatis-Plus 代码生成器

1、pom依赖

代码语言:javascript复制
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-jdbc</artifactId>
      <version>2.3.8</version>
    </dependency>

2、配置文件

代码语言:javascript复制
spring.datasource.dynamic.hive.driver-class-name=org.apache.hive.jdbc.HiveDriver
spring.datasource.dynamic.hive.url=jdbc:hive2://192.168.0.1:10000/user
spring.datasource.dynamic.hive.username=root
spring.datasource.dynamic.hive.password=root12345
spring.datasource.dynamic.hive.druid.filters=stat,slf4j

3、entity实体类

代码语言:javascript复制
import lombok.Data;
import java.io.Serializable;

@Data
public class HiveSql implements Serializable {

    private static final long serialVersionUID = 1L;


}

4、mapper

代码语言:javascript复制
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lydms.entity.HiveSql;


@DS("hive")
public interface HiveSqlMapper extends BaseMapper<HiveSql> {

    @SqlParser(filter = true)
    void explainQuery(String sql);

}

5、mapper.xml

代码语言:javascript复制
<?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.lydms.mapper.HiveSqlMapper">

    <update id="explainQuery">
        ${templateName,jdbcType=VARCHAR}
    </update>
</mapper>

6、service使用

代码语言:javascript复制
import com.lydms.mapper.HiveSqlMapper;
import com.lydms.entity.HiveSql;

    @Autowired
    private HiveSqlMapper hiveSqlMapper;

    @Override
    public R<String> checkSqlRule(String sql) {
      hiveSqlMapper.explainQuery(sql);
    }

7、可能遇到的问题

dbType not support : sqlite

解决:

配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall’用于防火墙(启动sqlite时候需要关闭wall)。把filters中的stat,wall,slf4j改成stat,slf4j

代码语言:javascript复制
spring.datasource.dynamic.hive.druid.filters=stat,slf4j

参考连接:

代码语言:javascript复制
http://www.zyiz.net/tech/detail-143690.html

0 人点赞