Mybatis-Plus(连接Hive)

序号类型地址
1MySQLMySQL操作之概念、SQL约束(一)
2MySQLMySQL操作之数据定义语言(DDL)(二)
3MySQLMySQL操作之数据操作语言(DML)(三)
4MySQLMySQL操作之数据查询语言:(DQL)(四-1)(单表操作)
5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)
6MySQLMySQL操作之数据控制语言:(DC)(五)
7MySQLMySQL操作之数据库函数
8MySQLMySQL管理之数据类型
9MySQLMySQL管理之索引
10MySQLMySQL管理之事务管理
11MySQLMySQL管理之存储过程
12MySQLMySQL管理之视图
13MySQLMySQL管理之数据备份与还原
14MySQLLinux(centos 7.5)服务器安装MySQL
15MyBatisMyBatis从入门到多表关联
16MyBatisMyBatis常用方法
17MyBatisMybatis逆向工程的使用(附文件地址)
18MyBatisspring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)
19MyBatis-PlusMybatis-Plus使用案例(包括初始化以及常用插件)
20MyBatis-Plusmybatis-plus代码生成器
21MyBatis-Plus自定义SQL
22MyBatis-PlusMybatis-Plus(连接Hive)
23MyBatis-PlusMyBatis-plus配置自定义SQL(执行用户传入SQL)
24MyBatis-PlusMybatis-Plus(Service CRUD 接口)


1、pom依赖

    <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、配置文件

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实体类

import lombok.Data;
import java.io.Serializable;

@Data
public class HiveSql implements Serializable {

    private static final long serialVersionUID = 1L;


}

4、mapper

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

<?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使用

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

spring.datasource.dynamic.hive.druid.filters=stat,slf4j

参考连接:

http://www.zyiz.net/tech/detail-143690.html
posted @ 2022-08-03 23:54  ah_lydms  阅读(450)  评论(0编辑  收藏  举报