spring boot: 使用MyBatis从hive中读取数据

一、hive表:
在这里插入图片描述
启动hiveserver2
二、添加mybatis starter和hive依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>hivejdbc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>


        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>2.1.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-runner</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>3.0.0</version>
        </dependency>
        
    </dependencies>

</project>

三、配置文件application.properties中配置数据源:

server.port=9202
spring.datasource.driverClassName=org.apache.hive.jdbc.HiveDriver
spring.datasource.url=jdbc:hive2://xx.xx.xx.xx:10000/default
spring.datasource.username=
spring.datasource.password=

四、定义mapper

package cn.edu.tju.mapper;

import cn.edu.tju.domain.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

@Mapper
public interface UserInfoMapper {
    @Select("select * from userinfo")
    List<Map<String,Object>> getUserList();


}

五、定义controller,注入mapper并使用

package cn.edu.tju.controller;

import cn.edu.tju.domain.UserInfo;
import cn.edu.tju.mapper.UserInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class UserInfoController {
    @Autowired
    private UserInfoMapper userInfoMapper;

    @RequestMapping("/getUserInfo")
    public String getUserInfo() {
        List<Map<String, Object>> userList = userInfoMapper.getUserList();
        int size = userList.size();
        //System.out.println(size);
        for (int i = 0; i < size; i ++ ){
            Map userInfo = (Map)userList.get(i).get("userinfo");
            System.out.println(userInfo.get("x"));
            System.out.println(userInfo.get("y"));
        }

            return "ok";
    }


}

相关推荐

  1. spark: pulsar读取数据

    2024-04-24 12:36:03       44 阅读
  2. flink: pulsar读取数据

    2024-04-24 12:36:03       38 阅读
  3. springboot使用easyExcel读取excel的内容

    2024-04-24 12:36:03       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 12:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 12:36:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 12:36:03       82 阅读
  4. Python语言-面向对象

    2024-04-24 12:36:03       91 阅读

热门阅读

  1. 整理Meta GDC 2024 上关于XR、空间计算相关的分享

    2024-04-24 12:36:03       34 阅读
  2. 软件步骤2:OpenMVG特征提取(基于SFM场景)

    2024-04-24 12:36:03       26 阅读
  3. matlab代码

    2024-04-24 12:36:03       33 阅读
  4. 代码随想录算法Day34(2)||LeetCode134.加油站

    2024-04-24 12:36:03       32 阅读
  5. python基础知识四(列表、元组、函数)

    2024-04-24 12:36:03       31 阅读
  6. 【ARM Coresight 系列文章19.3 -- ARM DSU 120 Debug block】

    2024-04-24 12:36:03       31 阅读
  7. 【electron报错】 electron-buidler打包sqlite3问题汇总

    2024-04-24 12:36:03       34 阅读
  8. word删除单页的页眉

    2024-04-24 12:36:03       32 阅读
  9. ISBN信息查询api接口

    2024-04-24 12:36:03       37 阅读
  10. 算法开发固定三方库版本

    2024-04-24 12:36:03       33 阅读