final PreparedStatement stmt = provider.preparedStatement(connection, sql); try { putStatementParameters(stmt, parameters);
final PreparedStatement stmt = provider.preparedStatement(connection, sql); try { putStatementParameters(stmt, parameters);
stmt = provider.preparedStatement(conn, sql);
try { connection = provider.getConnection(); stmt = provider.preparedStatement(connection, sql); putStatementParameters(stmt, parameters);
stmt = provider.preparedStatement(conn, sql);
final PreparedStatement stmt = manager.getProvider().preparedStatement(conn, sql); try { final TypeInfo<K> dbType = getTypeManager().getType(getClass(key));
stmt = provider.preparedStatement(conn, sql);
try { connection = provider.getConnection(); stmt = provider.preparedStatement(connection, sql); putStatementParameters(stmt, parameters);
/** * Counts all entities of the specified type matching the given {@link Query} instance. The SQL runs as a * <code>SELECT COUNT(*)</code> to ensure maximum performance. * * @param type The type of the entities which should be counted. * @param query The {@link Query} instance used to determine the result set which will be counted. * @return The number of entities of the given type which match the specified query. */ public <K> int count(Class<? extends RawEntity<K>> type, Query query) throws SQLException { EntityInfo entityInfo = resolveEntityInfo(type); Connection connection = null; PreparedStatement stmt = null; ResultSet res = null; try { connection = provider.getConnection(); final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), true); stmt = provider.preparedStatement(connection, sql); provider.setQueryStatementProperties(stmt, query); query.setParameters(this, stmt); res = stmt.executeQuery(); return res.next() ? res.getInt(1) : -1; } finally { closeQuietly(res); closeQuietly(stmt); closeQuietly(connection); } }
/** * Counts all entities of the specified type matching the given {@link Query} instance. The SQL runs as a * <code>SELECT COUNT(*)</code> to ensure maximum performance. * * @param type The type of the entities which should be counted. * @param query The {@link Query} instance used to determine the result set which will be counted. * @return The number of entities of the given type which match the specified query. */ public <K> int count(Class<? extends RawEntity<K>> type, Query query) throws SQLException { EntityInfo entityInfo = resolveEntityInfo(type); Connection connection = null; PreparedStatement stmt = null; ResultSet res = null; try { connection = provider.getConnection(); final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), true); stmt = provider.preparedStatement(connection, sql); provider.setQueryStatementProperties(stmt, query); query.setParameters(this, stmt); res = stmt.executeQuery(); return res.next() ? res.getInt(1) : -1; } finally { closeQuietly(res); closeQuietly(stmt); closeQuietly(connection); } }
final PreparedStatement stmt = manager.getProvider().preparedStatement(conn, sql); try { final TypeInfo<K> dbType = getTypeManager().getType(getClass(key));
stmt = provider.preparedStatement(conn, sql);
final PreparedStatement stmt = manager.getProvider().preparedStatement(conn, sql); try { final TypeInfo<K> dbType = getTypeManager().getType(getClass(key));
private <V> V pullFromDatabase(FieldInfo<V> fieldInfo) throws SQLException { Class<V> type = fieldInfo.getJavaType(); String name = fieldInfo.getName(); final DatabaseProvider provider = manager.getProvider(); Connection conn = null; PreparedStatement stmt = null; ResultSet res = null; V back = null; try { conn = provider.getConnection(); StringBuilder sql = new StringBuilder("SELECT "); sql.append(provider.processID(name)); String polyName = fieldInfo.getPolymorphicName(); if (polyName != null) { sql.append(',').append(provider.processID(polyName)); } sql.append(" FROM ").append(provider.withSchema(entityInfo.getName())).append(" WHERE "); sql.append(provider.processID(entityInfo.getPrimaryKey().getName())).append(" = ?"); stmt = provider.preparedStatement(conn, sql); TypeInfo<K> pkType = entityInfo.getPrimaryKey().getTypeInfo(); pkType.getLogicalType().putToDatabase(manager, stmt, 1, getKey(), pkType.getJdbcWriteType()); res = stmt.executeQuery(); if (res.next()) { back = convertValue(res, provider.shorten(name), provider.shorten(polyName), type); } } finally { closeQuietly(res, stmt, conn); } return back; }
private <V> V pullFromDatabase(FieldInfo<V> fieldInfo) throws SQLException { Class<V> type = fieldInfo.getJavaType(); String name = fieldInfo.getName(); final DatabaseProvider provider = manager.getProvider(); Connection conn = null; PreparedStatement stmt = null; ResultSet res = null; V back = null; try { conn = provider.getConnection(); StringBuilder sql = new StringBuilder("SELECT "); sql.append(provider.processID(name)); String polyName = fieldInfo.getPolymorphicName(); if (polyName != null) { sql.append(',').append(provider.processID(polyName)); } sql.append(" FROM ").append(provider.withSchema(entityInfo.getName())).append(" WHERE "); sql.append(provider.processID(entityInfo.getPrimaryKey().getName())).append(" = ?"); stmt = provider.preparedStatement(conn, sql); TypeInfo<K> pkType = entityInfo.getPrimaryKey().getTypeInfo(); pkType.getLogicalType().putToDatabase(manager, stmt, 1, getKey(), pkType.getJdbcWriteType()); res = stmt.executeQuery(); if (res.next()) { back = convertValue(res, provider.shorten(name), provider.shorten(polyName), type); } } finally { closeQuietly(res, stmt, conn); } return back; }
final PreparedStatement stmt = manager.getProvider().preparedStatement(conn, sql); try { final TypeInfo<K> dbType = getTypeManager().getType(getClass(key));
final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), false); stmt = provider.preparedStatement(conn, sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); provider.setQueryStatementProperties(stmt, query);
final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), false); stmt = provider.preparedStatement(conn, sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); provider.setQueryStatementProperties(stmt, query);
final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), false); stmt = provider.preparedStatement(conn, sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); provider.setQueryStatementProperties(stmt, query);
final String sql = query.toSQL(entityInfo, provider, getTableNameConverter(), false); stmt = provider.preparedStatement(conn, sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); provider.setQueryStatementProperties(stmt, query);