栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Springboot+mybatis+phoenix整合

Springboot+mybatis+phoenix整合

 这里分享一下Springboot整合phoenix+mybatis的简单示例,项目结构如下:

1.首先在hbase中创建一张表,sql语句如下:

CREATE TABLE IF NOT EXISTS "user"(
id VARCHAR primary key,
username VARCHAR,
age VARCHAR);

2.在pom.xml中引入相应的坐标;


    org.springframework.boot
    spring-boot-starter-parent
    2.6.0
    


    
        org.springframework.boot
        spring-boot-starter-web
    
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.1.0
        
            
                org.slf4j
                slf4j-log4j12
            
        
    
    
    
        org.apache.phoenix
        phoenix-core
        4.14.0-Hbase-1.2
        
            
                org.slf4j
                slf4j-log4j12
            
       
    

        org.projectlombok
        lombok
        RELEASE
        compile
    

3.在application.yml中导入相应的配置;

spring:
  datasource:
    driverClassName: org.apache.phoenix.jdbc.PhoenixDriver
    url:jdbc:phoenix: IP地址:2181
mybatis:
  mapper-locations: classpath:mappers/*.xml

4.User实体类代码如下:

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User {
    private String userId;
    private String userName;
    private String age;
}

5.UserMapper.xml代码如下:




    
        
        
        
    
    
        UPSERT INTO "user" VALUES (#{userId}, #{userName}, #{age})
    
    
        SELECT * FROM "user"
    

6.UserMapper接口代码如下:

@Mapper
public interface UserMapper {

    int addUser(User user);
    User getUserById(String userId);
    List getAllUser();
}

7.启动类:

@SpringBootApplication
public class Appstart {
    public static void main(String[] args) {

        ConfigurableApplicationContext app = SpringApplication.run(Appstart.class, args);
        UserMapper userMapper = app.getBean(UserMapper.class);
        //添加
        userMapper.addUser(new User("1","xiaochen","7"));
        userMapper.addUser(new User("2","xiaowu","7"));
        userMapper.addUser(new User("3","xiaoli","7"));

        //查询某个用户
        User userById = userMapper.getUserById("1");
        System.out.println(userById);

        //查询所有
        List allUser = userMapper.getAllUser();
        System.out.println(allUser);
    }
}

总结:整体感觉和整合mysql、oracle这些数据库类似,修改驱动,url及相应sql即可;但整合phoenix有一点不好,就是坐标引入了好多jar包。最后处理一下日志中的报错:

报错1:

找不到winutils.exe,下载hadoop-common-2.2.0-bin-master.zip 解压后,在代码中添加如下系统配置:

System.setProperty("hadoop.home.dir","hadoop-common的目录\hadoop-common-2.2.0-bin-master");

报错2:

找到ConnectionQueryServicesImpl 拷贝一份该类源码,复制到项目中,注释掉该日志打印代码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号