/** * Called to create and start a new SQL Listener context * * @param connection the database connection * @param metadata the meta data for that context * @return the newly started context */ protected SQLListenerContextImpl startContext(Connection connection, QueryMetadata metadata) { SQLListenerContextImpl context = new SQLListenerContextImpl(metadata, connection); listeners.start(context); return context; }
private PreparedStatement createStatement(boolean withKeys) throws SQLException { listeners.preRender(context); SQLSerializer serializer = createSerializer(); if (subQueryBuilder != null) { subQuery = subQueryBuilder.list(values.toArray(new Expression[values.size()])); values.clear(); } serializer.serializeInsert(metadata, entity, columns, values, subQuery); context.addSQL(serializer.toString()); listeners.rendered(context); return prepareStatementAndSetParameters(serializer, withKeys); }
@Override public String toString() { StringBuilder sb = new StringBuilder() .append(" sql:").append(nicerSql(getSQL())) .append(" connection:").append(connection == null ? "not connected" : "connected") .append(" entity:").append(entity) .append(" exception:").append(exception); for (Map.Entry<String, Object> entry : contextMap.entrySet()) { sb.append(" [").append(entry.getKey()).append(":").append(entry.getValue()).append("]"); } return sb.toString(); }
constants = serializer.getConstants(); logQuery(logger, queryString, constants); context.addSQL(queryString); listeners.rendered(context); context.addPreparedStatement(stmt); listeners.prepared(context); serializer = createSerializer(); serializer.serializeDelete(batches.get(i), entity); context.addSQL(serializer.toString()); listeners.rendered(context); stmt = connection.prepareStatement(serializer.toString()); stmts.put(serializer.toString(), stmt); context.addPreparedStatement(stmt); listeners.prepared(context);
/** * Called to make the call back to listeners when an exception happens * * @param context the current context in play * @param e the exception */ protected void onException(SQLListenerContextImpl context, Exception e) { context.setException(e); listeners.exception(context); }
private PreparedStatement prepareStatementAndSetParameters(SQLSerializer serializer, boolean withKeys) throws SQLException { listeners.prePrepare(context); queryString = serializer.toString(); constants = serializer.getConstants(); logQuery(logger, queryString, constants); PreparedStatement stmt; if (withKeys) { String[] target = new String[keys.size()]; for (int i = 0; i < target.length; i++) { target[i] = ColumnMetadata.getName(getKeys().get(i)); } stmt = connection.prepareStatement(queryString, target); } else { stmt = connection.prepareStatement(queryString); } setParameters(stmt, serializer.getConstants(), serializer.getConstantPaths(), metadata.getParams()); context.addPreparedStatement(stmt); listeners.prepared(context); return stmt; }
constants = serializer.getConstants(); logQuery(logger, queryString, constants); context.addSQL(queryString); listeners.rendered(context); context.addPreparedStatement(stmt); listeners.prepared(context); serializer = createSerializer(); serializer.serializeUpdate(batches.get(i).getMetadata(), entity, batches.get(i).getUpdates()); context.addSQL(serializer.toString()); listeners.rendered(context); stmt = connection.prepareStatement(serializer.toString()); stmts.put(serializer.toString(), stmt); context.addPreparedStatement(stmt); listeners.prepared(context);
/** * Called to make the call back to listeners when an exception happens * * @param context the current context in play * @param e the exception */ protected void onException(SQLListenerContextImpl context, Exception e) { context.setException(e); listeners.exception(context); }
private PreparedStatement prepareStatementAndSetParameters(SQLSerializer serializer, boolean withKeys) throws SQLException { listeners.prePrepare(context); queryString = serializer.toString(); constants = serializer.getConstants(); logQuery(logger, queryString, constants); PreparedStatement stmt; if (withKeys) { if (entity.getPrimaryKey() != null) { String[] target = new String[entity.getPrimaryKey().getLocalColumns().size()]; for (int i = 0; i < target.length; i++) { Path<?> path = entity.getPrimaryKey().getLocalColumns().get(i); String column = ColumnMetadata.getName(path); target[i] = column; } stmt = connection.prepareStatement(queryString, target); } else { stmt = connection.prepareStatement(queryString, Statement.RETURN_GENERATED_KEYS); } } else { stmt = connection.prepareStatement(queryString); } setParameters(stmt, serializer.getConstants(), serializer.getConstantPaths(), metadata.getParams()); context.addPreparedStatement(stmt); listeners.prepared(context); return stmt; }
private PreparedStatement createStatement() throws SQLException{ listeners.preRender(context); SQLSerializer serializer = createSerializer(); serializer.serializeUpdate(metadata, entity, updates); queryString = serializer.toString(); constants = serializer.getConstants(); logQuery(logger, queryString, constants); context.addSQL(queryString); listeners.prepared(context); listeners.prePrepare(context); PreparedStatement stmt = connection.prepareStatement(queryString); setParameters(stmt, serializer.getConstants(), serializer.getConstantPaths(), metadata.getParams()); context.addPreparedStatement(stmt); listeners.prepared(context); return stmt; }
batches.get(0).getKeys(), batches.get(0).getColumns(), batches.get(0).getValues(), batches.get(0).getSubQuery()); context.addSQL(serializer.toString()); listeners.rendered(context);
/** * Called to create and start a new SQL Listener context * * @param connection the database connection * @param metadata the meta data for that context * @param entity the entity for that context * @return the newly started context */ protected SQLListenerContextImpl startContext(Connection connection, QueryMetadata metadata, RelationalPath<?> entity) { SQLListenerContextImpl context = new SQLListenerContextImpl(metadata, connection, entity); listeners.start(context); return context; }
private PreparedStatement createStatement() throws SQLException{ listeners.preRender(context); SQLSerializer serializer = createSerializer(); serializer.serializeDelete(metadata, entity); queryString = serializer.toString(); constants = serializer.getConstants(); logQuery(logger, queryString, constants); context.addSQL(queryString); listeners.rendered(context); listeners.prePrepare(context); PreparedStatement stmt = connection.prepareStatement(queryString); setParameters(stmt, serializer.getConstants(), serializer.getConstantPaths(), metadata.getParams()); context.addPreparedStatement(stmt); listeners.prepared(context); return stmt; }
if (batches.isEmpty()) { serializer.serializeMerge(metadata, entity, keys, columns, values, subQuery); context.addSQL(serializer.toString()); listeners.rendered(context); context.addPreparedStatement(stmt); listeners.prepared(context); } else { batches.get(0).getKeys(), batches.get(0).getColumns(), batches.get(0).getValues(), batches.get(0).getSubQuery()); context.addSQL(serializer.toString()); listeners.rendered(context); serializer = createSerializer(); serializer.serializeMerge(metadata, entity, batch.getKeys(), batch.getColumns(), batch.getValues(), batch.getSubQuery()); context.addSQL(serializer.toString()); listeners.rendered(context);
queryString = serializer.toString(); logQuery(queryString, serializer.getConstants()); context.addSQL(queryString); listeners.rendered(context); setParameters(stmt, constants, serializer.getConstantPaths(), getMetadata().getParams()); context.addPreparedStatement(stmt); listeners.prepared(context);
queryString = serializer.toString(); logQuery(queryString, serializer.getConstants()); context.addSQL(queryString); listeners.rendered(context); try { setParameters(stmt, constants, serializer.getConstantPaths(), queryMixin.getMetadata().getParams()); context.addPreparedStatement(stmt); listeners.prepared(context);
queryString = serializer.toString(); logQuery(queryString, serializer.getConstants()); context.addSQL(queryString); listeners.rendered(context); final PreparedStatement stmt = getPreparedStatement(queryString); setParameters(stmt, constants, serializer.getConstantPaths(), metadata.getParams()); context.addPreparedStatement(stmt); listeners.prepared(context);
queryString = serializer.toString(); logQuery(queryString, serializer.getConstants()); context.addSQL(queryString); listeners.rendered(context); final PreparedStatement stmt = getPreparedStatement(queryString); setParameters(stmt, constants, serializer.getConstantPaths(), getMetadata().getParams()); context.addPreparedStatement(stmt); listeners.prepared(context);