JAVA 实现数据导入Phoenix

需要导入的jar 包有:

实现代码:

package cn.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;

public class PhoenixTest {

    public static void insertDatas() {

        Statement stmt;
        Connection con;
        String ItemID = getItemID( 10 );
        String ItemName = getItemName(10);
        float Price = (float) 0.1;
        try
        {
            con = DriverManager.getConnection("jdbc:phoenix:node11:2181" );
            stmt = con.createStatement();
            System.out.println("content success....");
           // stmt.executeUpdate("create table test (mykey integer not null primary key, mycolumn varchar)");
            stmt.executeUpdate( "create table  items ( ItemID varchar not null primary key,ItemName VARCHAR NULL,Price FLOAT NULL ");
            for ( int i = 0; i < 1000; i++ )  //需要导入多少数据自己修改,如果数据量比较大就需要500或者1000条提交一次;或者定时提交,下次再修改代码
            {
                stmt.executeUpdate( "upsert into items values (‘" + ItemID + "‘,‘" + ItemName + "‘,‘" + Price++ + "‘)" );
            }

            con.commit();
            con.close();
        }
        catch ( SQLException e )
        {
            e.printStackTrace();
        }
    }

    /**
     * 生成随机数当作getItemID
     *
     * @return
     */
    public static String getItemID( int n )
    {
        String val = "";
        Random random = new Random();
        for ( int i = 0; i < n; i++ )
        {
            String str = random.nextInt( 2 ) % 2 == 0 ? "num" : "char";
            if ( "char".equalsIgnoreCase( str ) )
            { // 产生字母
                int nextInt = random.nextInt( 2 ) % 2 == 0 ? 65 : 97;
                // System.out.println(nextInt + "!!!!"); 1,0,1,1,1,0,0
                val += (char) ( nextInt + random.nextInt( 26 ) );
            }
            else if ( "num".equalsIgnoreCase( str ) )
            { // 产生数字
                val += String.valueOf( random.nextInt( 10 ) );
            }
        }
        return val;
    }

    /**
     * 生产ItemName随机函数
     * @param length
     * @return
     */
    public static String getItemName( int length ){
        String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for ( int i = 0; i < length; i++ )
        {
            int number = random.nextInt( base.length() );
            sb.append( base.charAt( number ) );
        }
        return sb.toString();
    }

    public static void main( String[] args ){
        insertDatas();
    }
}
时间: 2024-11-08 18:55:45

JAVA 实现数据导入Phoenix的相关文章

java大批量数据导入(MySQL)

? 版权声明:本文为博主原创文章,转载请注明出处 最近同事碰到大批量数据导入问题,因此也关注了一下.大批量数据导入主要存在两点问题:内存溢出和导入速率慢. 内存溢出:将文件中的数据全部取出放在集合中,当数据过多时就出现Java内存溢出,此时可通过调大JVM的最大可用内存(Xmx)解决, 但终究不是王道.    MySQL支持一条SQL语句插入多条记录的操作,并且效率比单条插入快的不是一点点:但是MySQL一次可接受的数据包大小 也是有限制的,当一次插入过多时也可能造成数据包内存溢出,此时可通过调

java数据库数据导入excel

data导出入excel中 controller: package com.longfor.hrssc.api.controller; import com.longfor.hrssc.api.model.BasicInformation; import com.longfor.hrssc.api.service.IBasicInformationService; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.u

《java提高数据导入效率优化思路》

写在前边的实现需求: 1.总共10万个电话号码: 2.电话号码中有重复和错误: 3.查找出正确的号码(不重复): 一.优化前的实现方式: 1.先用正则过滤一遍10万条数据,找出错误的: 2.用List.Contains验证重复数据,List.Add添加不重复数据: 3.最终从List中取出正确的数据. 1 public class appMain { 2 final static int _capacity = 1000000; 3 final static Random rand = new

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java

Java代码实现excel数据导入到Oracle

1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.Bi

java实现EXCEL数据导入到数据库中的格式问题的解决

之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. 但是,每次导入的时候还会因为格式问题而惴惴不安,最近把代码拿来研究了一下,网上查了一下. 原来是从cell里取出数据后没有做格式匹配直接赋值导致的.因此,在取出数据写入数据库前做一下格式匹配就好了. SO FRUSTRATED BY THE PREVIOUS IGNORANCE! 1 //把EXC

Java版将EXCEL表数据导入到数据库中

1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String