本文整理汇总了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();
}
}
示例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();
}
示例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();
}
示例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();
}
}
示例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();
}
示例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();
}
示例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();
}
}