Mybatis-Plus(连接Hive)
序号 | 类型 | 地址 |
---|---|---|
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代码生成器 |
21 | MyBatis-Plus | 自定义SQL |
22 | MyBatis-Plus | Mybatis-Plus(连接Hive) |
23 | MyBatis-Plus | MyBatis-plus配置自定义SQL(执行用户传入SQL) |
24 | MyBatis-Plus | Mybatis-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