• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate

Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate等服务器相关知识,网友希望可以进行参考

Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate


介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。更多参考官网:http://phoenix.apache.org/

Phoenix实现了JDBC的驱动,使用Phoenix JDBC和普通的数据库(Mysql)JDBC一样,也可以通过Spring JDBCTemplate的方式,将数据库的操作模块化,以及进行数据源,事物方面的管理。
实现步骤如下:
(1)关于Phoenix与Hbase的整合请参考:
编写pom.xml
  <dependency>
            <groupId>org.apache.phoenix</groupId>
            <artifactId>phoenix-core</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

(2)如果是windows的开发环境,配置C:\Windows\System32\drivers\etc\hosts文件,添加develop5的配置
192.168.199.242   develop5

(3)配置Spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans
        xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd

    <bean id="phoenixJdbcTemplate"
          class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg ref="phoenixDataSource"/>
        <qualifier value="phoenixJdbcTemplate"></qualifier>
    </bean>

    <bean id="baseInterfacePonenixImpl" class="com.eric.monitor.dao.impl.HBaseBaseDAOImpl">
        <property name="jdbcTemplate" ref="phoenixJdbcTemplate"/>
    </bean>

    <context:component-scan base-package="com.eric.monitor.dao.impl"/>
    <context:component-scan base-package="com.eric.monitor.service.impl"/>

    <bean id="phoenixDataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="org.apache.phoenix.jdbc.PhoenixDriver"/>
        <property name="url" value="jdbc:phoenix:develop5"/>
        <property name="username" value=""/>
        <property name="password" value=""/>
        <property name="initialSize" value="20"/>
        <property name="maxActive" value="0"/>
        <!--因为Phoenix进行数据更改时不会自动的commit,必须要添加defaultAutoCommit属性,否则会导致数据无法提交的情况-->
        <property name="defaultAutoCommit" value="true"/>
    </bean>
</beans>



(3)编写Java程序
import com.eric.common.framework.dao.HBaseDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 类描述
 *
 * @author aihua.sun
 * @date 2015/3/9
 * @since V1.0
 */

@Repository
public class HBaseBaseDAOImpl implements HBaseDao {

    private JdbcTemplate jdbcTemplate;
    public HBaseBaseDAOImpl(JdbcTemplate template) {
        this.jdbcTemplate = template;
    }
    public HBaseBaseDAOImpl() {
        super();

    }
   public List query(String querySql) {
        return jdbcTemplate.query(querySql);
    }

    @Override
    public void update(String querySql) {
        System.out.println(querySql);
        jdbcTemplate.update(querySql);
    }

    @Override
    public void batchUpdate(String updateSQL) {
        System.out.println("##########BATCH UPDATE:"+updateSQL);
        jdbcTemplate.batchUpdate(updateSQL);
    }

    public JdbcTemplate getJdbcTemplate() {
        return jdbcTemplate;
    }

    @Autowired
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成,jdbcjdbctemplate

相关文章

  • Docker的安装方法及运行Docker Swarm模式的使用
  • 详解Docker创建php开发环境遇到的权限问题解决方案
  • 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则(图解)
  • 虚拟机下Linux系统Hadoop单机/伪分布式配置:Hadoop2.5.2+Ubuntu14.04(半原创),hadoophadoop2.5.2
  • 总结红帽RHEV3.0 展望RHEV3.1
  • XenServer 安装及虚拟机部署详细指南
  • 阿里云docker容器固定应用到到某一个节点记录
  • 如何对关键应用实施虚拟化
  • VMware虚拟机安装的CentOS无法上网的解决方法
  • 分享8个基本的Docker容器管理命令

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Docker 默认bridge网络中配置DNS的方法
    • 宝德虚拟化双机热备解决方案
    • 在Ubuntu上面安装VMware Workstation教程
    • VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通(图文教程)
    • Citrix XenServer 6.1 安装图解教程
    • 详解Docker容器跨主机通信的方法
    • CentOS7 Docker防火墙的简单配置教程
    • Hyper-V 与 VMware比较哪个好用
    • 详解Docker Registry之删除镜像、垃圾回收
    • Docker相关命令应用汇总

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有