当前位置: 首页>>代码示例>>Java>>正文


Java PreparedBatch.add方法代码示例

本文整理汇总了Java中org.skife.jdbi.v2.PreparedBatch.add方法的典型用法代码示例。如果您正苦于以下问题:Java PreparedBatch.add方法的具体用法?Java PreparedBatch.add怎么用?Java PreparedBatch.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.skife.jdbi.v2.PreparedBatch的用法示例。


在下文中一共展示了PreparedBatch.add方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadAlleleCodes

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
@Override
public void loadAlleleCodes(Iterator<AlleleCodeRow> rowIter, boolean reload) {
       try (Handle handle = dbi.open()) {
           if (reload) {
               handle.createStatement("delete from allele_code").execute();
           }
           PreparedBatch batch = handle.prepareBatch("insert or ignore into allele_code(allele_code, allele, family_included) values (?, ?, ?)");
           long i = 0;
           while (rowIter.hasNext()) {
           	AlleleCodeRow g = rowIter.next();
           	batch.add(g.getCode(), g.getAllele(), g.isGeneric());
           	if (0 == ++i % 10000L) {
           		logger.debug("committing " + i + " rows...");
           		batch.execute();
           	}
           }
           if (0 != i % 1000L) batch.execute();
       }
}
 
开发者ID:nmdp-bioinformatics,项目名称:service-epitope,代码行数:20,代码来源:DbiManagerImpl.java

示例2: suspendIntoFlatVertexTable

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
public void suspendIntoFlatVertexTable(Long sessId, State state, String table, Set<AmberVertex> set) {
    Set<String> fields = getFields(set, state);
    String sql = String.format("INSERT INTO %s (s_id, state, id, txn_start, txn_end %s) values (:s_id, :state, :id, :txn_start, :txn_end %s)",
            table,
            StringUtils.join(format(fields, ", %s"), ' '),
            StringUtils.join(format(fields, ", :%s"), ' '));

    Handle h = getHandle();
    PreparedBatch preparedBatch = h.prepareBatch(sql);
    for (AmberVertex v: set) {
        PreparedBatchPart preparedBatchPart = preparedBatch.add();
        preparedBatchPart.bind("s_id",       sessId);
        preparedBatchPart.bind("state",      state.name());
        preparedBatchPart.bind("id",         v.getId());
        preparedBatchPart.bind("txn_start",  v.getTxnStart());
        preparedBatchPart.bind("txn_end",    v.getTxnEnd());
        if (state != DEL) {
            for (String field: fields) {
                bindField(v, preparedBatchPart, field);
            }
        }
    }
    preparedBatch.execute();
}
 
开发者ID:nla,项目名称:amberdb,代码行数:25,代码来源:AmberDao.java

示例3: suspendIntoFlatEdgeTable

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
public void suspendIntoFlatEdgeTable(Long sessId, State state, Set<AmberEdge> set) {
    String sql = "INSERT INTO sess_flatedge (s_id, state, id, txn_start, txn_end, v_out, v_in, edge_order, label) values (:s_id, :state, :id, :txn_start, :txn_end, :v_out, :v_in, :edge_order, :label)";

    Handle h = getHandle();
    PreparedBatch preparedBatch = h.prepareBatch(sql);
    for (AmberEdge v: set) {
        PreparedBatchPart preparedBatchPart = preparedBatch.add();
        preparedBatchPart.bind("s_id",       sessId);
        preparedBatchPart.bind("state",      state.name());
        preparedBatchPart.bind("id",         v.getId());
        preparedBatchPart.bind("txn_start",  v.getTxnStart());
        preparedBatchPart.bind("txn_end",    v.getTxnEnd());
        preparedBatchPart.bind("v_out",      v.getOutId());
        preparedBatchPart.bind("v_in",       v.getInId());
        preparedBatchPart.bind("edge_order", v.getOrder());
        preparedBatchPart.bind("label",      v.getLabel());
    }
    preparedBatch.execute();

}
 
开发者ID:nla,项目名称:amberdb,代码行数:21,代码来源:AmberDao.java

示例4: loadCsv

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
public static void loadCsv(Connection conn, String sql, String csvResource) throws Exception {
    log.debug("csvResource: " + csvResource);
    URL csvUrl = DbUtil.class.getClassLoader().getResource(csvResource);
    log.debug("csvUrl: " + csvUrl);
	try (Handle handle = DBI.open(conn)) {
		PreparedBatch batch = handle.prepareBatch(sql);
		Iterator<Object[]> it = readCsv(csvUrl);
		while (it.hasNext()) {
		    Object[] row = it.next();
		    log.trace("row: " + Arrays.toString(row));
			batch.add(row);
		}
		batch.execute();
	}
}
 
开发者ID:nmdp-bioinformatics,项目名称:service-epitope,代码行数:16,代码来源:DbUtil.java

示例5: suspendIntoNodeTable

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
public void suspendIntoNodeTable(Long sessId, State state, Set<AmberVertex> set) {
    String sql = "INSERT INTO sess_node ( s_id,  state,  id,  txn_start,  txn_end,  type,  accessConditions,  alias,  commentsExternal,  commentsInternal,  expiryDate,  internalAccessConditions,  localSystemNumber,  name,  notes,  recordSource,  restrictionType) "
                              + "VALUES (:s_id, :state, :id, :txn_start, :txn_end, :type, :accessConditions, :alias, :commentsExternal, :commentsInternal, :expiryDate, :internalAccessConditions, :localSystemNumber, :name, :notes, :recordSource, :restrictionType)";
    if (state == DEL) { 
        sql = "INSERT INTO sess_node ( s_id,  state,  id,  txn_start,  txn_end,  type) "
                           + "VALUES (:s_id, :state, :id, :txn_start, :txn_end, :type)";
    }

    Handle h = getHandle();
    PreparedBatch preparedBatch = h.prepareBatch(sql);
    for (AmberVertex v: set) {
        PreparedBatchPart preparedBatchPart = preparedBatch.add();
        preparedBatchPart.bind("s_id",       sessId);
        preparedBatchPart.bind("state",      state.name());
        preparedBatchPart.bind("id",         v.getId());
        preparedBatchPart.bind("txn_start",  v.getTxnStart());
        preparedBatchPart.bind("txn_end",    v.getTxnEnd());
        preparedBatchPart.bind("type",       v.getProperties().get("type"));
        if (state != DEL) {
            for (String field: nodeFields) {
                bindField(v, preparedBatchPart, field);
            }

        }
    }
    preparedBatch.execute();
}
 
开发者ID:nla,项目名称:amberdb,代码行数:28,代码来源:AmberDao.java

示例6: suspendIntoFlatEdgeSpecificTable

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
public void suspendIntoFlatEdgeSpecificTable(Long sessId, State state, String table, Set<AmberEdge> set) {
    Set<String> fields = getFields(set, state);
    
    fields.removeAll(Arrays.asList("eid", "vid", "step")); // DSCS-2447
    
    String sql = String.format("INSERT INTO %s (s_id, state, id, txn_start, txn_end, v_out, v_in, edge_order, label %s) values (:s_id, :state, :id, :txn_start, :txn_end, :v_out, :v_in, :edge_order, :label %s)",
            table,
            StringUtils.join(format(fields, ", %s"), ' '),
            StringUtils.join(format(fields, ", :%s"), ' '));

    Handle h = getHandle();
    PreparedBatch preparedBatch = h.prepareBatch(sql);
    for (AmberEdge v: set) {
        PreparedBatchPart preparedBatchPart = preparedBatch.add();
        preparedBatchPart.bind("s_id",       sessId);
        preparedBatchPart.bind("state",      state.name());
        preparedBatchPart.bind("id",         v.getId());
        preparedBatchPart.bind("txn_start",  v.getTxnStart());
        preparedBatchPart.bind("txn_end",    v.getTxnEnd());
        preparedBatchPart.bind("v_out",      v.getOutId());
        preparedBatchPart.bind("v_in",       v.getInId());
        preparedBatchPart.bind("edge_order", v.getOrder());
        preparedBatchPart.bind("label",       v.getLabel());
        if (state != DEL) {
            for (String field: fields) {
                preparedBatchPart.bind(field,    v.getProperties().get(field));
            }
        }
    }
    preparedBatch.execute();

}
 
开发者ID:nla,项目名称:amberdb,代码行数:33,代码来源:AmberDao.java

示例7: insertRows

import org.skife.jdbi.v2.PreparedBatch; //导入方法依赖的package包/类
private static void insertRows(ConnectorTableMetadata tableMetadata, Handle handle, RecordSet data)
{
    List<ColumnMetadata> columns = tableMetadata.getColumns().stream()
            .filter(columnMetadata -> !columnMetadata.isHidden())
            .collect(toImmutableList());

    String vars = Joiner.on(',').join(nCopies(columns.size(), "?"));
    String sql = format("INSERT INTO %s VALUES (%s)", tableMetadata.getTable().getTableName(), vars);

    RecordCursor cursor = data.cursor();
    while (true) {
        // insert 1000 rows at a time
        PreparedBatch batch = handle.prepareBatch(sql);
        for (int row = 0; row < 1000; row++) {
            if (!cursor.advanceNextPosition()) {
                batch.execute();
                return;
            }
            PreparedBatchPart part = batch.add();
            for (int column = 0; column < columns.size(); column++) {
                Type type = columns.get(column).getType();
                if (BOOLEAN.equals(type)) {
                    part.bind(column, cursor.getBoolean(column));
                }
                else if (BIGINT.equals(type)) {
                    part.bind(column, cursor.getLong(column));
                }
                else if (DOUBLE.equals(type)) {
                    part.bind(column, cursor.getDouble(column));
                }
                else if (VARCHAR.equals(type)) {
                    part.bind(column, cursor.getSlice(column).toStringUtf8());
                }
                else if (DATE.equals(type)) {
                    long millisUtc = TimeUnit.DAYS.toMillis(cursor.getLong(column));
                    // H2 expects dates in to be millis at midnight in the JVM timezone
                    long localMillis = DateTimeZone.UTC.getMillisKeepLocal(DateTimeZone.getDefault(), millisUtc);
                    part.bind(column, new Date(localMillis));
                }
                else {
                    throw new IllegalArgumentException("Unsupported type " + type);
                }
            }
        }
        batch.execute();
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:48,代码来源:H2QueryRunner.java


注:本文中的org.skife.jdbi.v2.PreparedBatch.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。