java.sql.ResultSet#wasNull ( )源码实例Demo

下面列出了java.sql.ResultSet#wasNull ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: webanno   文件: PersistentEnumUserType.java
@Override
public Object nullSafeGet(ResultSet rs, String[] names,
        SharedSessionContractImplementor session, Object owner)
    throws HibernateException, SQLException
{
    String name = rs.getString(names[0]);
    if (rs.wasNull()) {
        return null;
    }
    for (PersistentEnum value : returnedClass().getEnumConstants()) {
        if (name.equals(value.getId())) {
            return value;
        }
    }
    throw new IllegalStateException(
            "Unknown " + returnedClass().getSimpleName() + " value [" + name + "]");
}
 
源代码2 项目: Plan   文件: ExtensionAggregateNumbersQuery.java
private TabInformation extractTabInformation(String tabName, ResultSet set) throws SQLException {
    Optional<Integer> tabPriority = Optional.of(set.getInt("tab_priority"));
    if (set.wasNull()) {
        tabPriority = Optional.empty();
    }
    Optional<ElementOrder[]> elementOrder = Optional.ofNullable(set.getString(ExtensionTabTable.ELEMENT_ORDER)).map(ElementOrder::deserialize);

    Icon tabIcon = extractTabIcon(set);

    return new TabInformation(
            tabName,
            tabIcon,
            elementOrder.orElse(ElementOrder.values()),
            tabPriority.orElse(100)
    );
}
 
源代码3 项目: lams   文件: OrdinalEnumValueConverter.java
@Override
public E readValue(ResultSet resultSet, String name) throws SQLException {
	final int ordinal = resultSet.getInt( name );
	final boolean traceEnabled = log.isTraceEnabled();
	if ( resultSet.wasNull() ) {
		if ( traceEnabled ) {
			log.trace(String.format("Returning null as column [%s]", name));
		}
		return null;
	}

	final E enumValue = toDomainValue( ordinal );
	if ( traceEnabled ) {
		log.trace(String.format("Returning [%s] as column [%s]", enumValue, name));
	}

	return enumValue;
}
 
源代码4 项目: uavstack   文件: DAOFactory.java
public Object getResult(ResultSet rs, int columnIndex) throws SQLException {

            Object s = rs.getString(columnIndex);
            if (rs.wasNull()) {
                return null;
            }
            else {
                return s;
            }
        }
 
源代码5 项目: constellation   文件: ImportFromJdbcPlugin.java
private static void setValue(final GraphWriteMethods wg, final ResultSet rs, final String label, final Attribute attr, final int id) throws SQLException {
    switch (attr.getAttributeType()) {
        case "boolean":
            wg.setBooleanValue(attr.getId(), id, rs.getBoolean(label));
            break;
        case "date":
            final Date d = rs.getDate(label);
            if (!rs.wasNull()) {
                wg.setLongValue(attr.getId(), id, d.getTime());
            }
            break;
        case "datetime":
            final Timestamp ts = rs.getTimestamp(label);
            if (!rs.wasNull()) {
                wg.setLongValue(attr.getId(), id, ts.getTime());
            }
            break;
        case "integer":
            wg.setIntValue(attr.getId(), id, rs.getInt(label));
            break;
        case "float":
            wg.setFloatValue(attr.getId(), id, rs.getFloat(label));
            break;
        case "time":
            final Time t = rs.getTime(label);
            if (!rs.wasNull()) {
                wg.setLongValue(attr.getId(), id, t.getTime());
            }
            break;
        default:
            final String s = rs.getString(label);
            wg.setStringValue(attr.getId(), id, rs.wasNull() ? null : s);
            break;
    }
}
 
源代码6 项目: dhis2-core   文件: EnumUserType.java
@Override
public Object nullSafeGet( ResultSet resultSet, String[] names, SharedSessionContractImplementor impl, Object owner )
    throws HibernateException, SQLException
{
    String name = resultSet.getString( names[0] );
    E result = null;
    if ( !resultSet.wasNull() )
    {
        result = Enum.valueOf( clazz, name );
    }
    return result;
}
 
源代码7 项目: gemfirexd-oss   文件: SQLTinyint.java
/** 
 * @see DataValueDescriptor#setValueFromResultSet 
 *
 * @exception SQLException		Thrown on error
 */
public void setValueFromResultSet(ResultSet resultSet, int colNumber,
								  boolean isNullable)
	throws SQLException
{
		value = resultSet.getByte(colNumber);
		isnull = (isNullable && resultSet.wasNull());
}
 
源代码8 项目: jasypt   文件: EncryptedBigIntegerType.java
public Object nullSafeGet(final ResultSet rs, final String[] names,
        final SessionImplementor session, final Object owner)
        throws HibernateException, SQLException {
    checkInitialization();
    final BigDecimal decimalMessage = rs.getBigDecimal(names[0]);
    if (rs.wasNull()) {
        return null;
    }
    final BigInteger message = 
        decimalMessage.setScale(0, BigDecimal.ROUND_UNNECESSARY).
            unscaledValue();
    return this.encryptor.decrypt(message);
}
 
源代码9 项目: evosql   文件: TestSql.java
/**
 * In 1.8.0.2, this fails in client / server due to column type of the
 * second select for b1 being boolean, while the first select is interpreted
 * as varchar. The rowOutputBase class attempts to cast the Java Boolean
 * into String.
 */
public void testUnionColumnTypes() {

    try {
        Connection conn = newConnection();
        Statement  stmt = conn.createStatement();

        stmt.execute("DROP TABLE test1 IF EXISTS");
        stmt.execute("DROP TABLE test2 IF EXISTS");
        stmt.execute("CREATE TABLE test1 (id int, b1 boolean)");
        stmt.execute("CREATE TABLE test2 (id int)");
        stmt.execute("INSERT INTO test1 VALUES(1,true)");
        stmt.execute("INSERT INTO test2 VALUES(2)");

        ResultSet rs = stmt.executeQuery(
            "select id,null as b1 from test2 union select id, b1 from test1");
        Boolean[] array = new Boolean[2];

        for (int i = 0; rs.next(); i++) {
            boolean boole = rs.getBoolean(2);

            array[i] = Boolean.valueOf(boole);

            if (rs.wasNull()) {
                array[i] = null;
            }
        }

        boolean result = (array[0] == null && array[1] == Boolean.TRUE)
                         || (array[0] == Boolean.TRUE && array[1] == null);

        assertTrue(result);
    } catch (SQLException e) {
        e.printStackTrace();
        System.out.println("TestSql.testUnionColumnType() error: "
                           + e.getMessage());
    }
}
 
源代码10 项目: requery   文件: Oracle.java
@Override
public Boolean read(ResultSet results, int column) throws SQLException {
    Boolean value = results.getBoolean(column);
    if (results.wasNull()) {
        return null;
    }
    return value;
}
 
源代码11 项目: reladomo   文件: DoubleAttribute.java
public void zPopulateValueFromResultSet(int resultSetPosition, int dataPosition, ResultSet rs, AggregateData data, TimeZone databaseTimezone, DatabaseType dt)
        throws SQLException
{
    MutableDouble obj;
    double d = rs.getDouble(resultSetPosition);
    if (rs.wasNull())
    {
        obj = new MutableDouble();
    }
    else
    {
        obj = new MutableDouble(d);
    }
    data.setValueAt(dataPosition, obj);
}
 
源代码12 项目: jasypt   文件: EncryptedBigIntegerType.java
public Object nullSafeGet(final ResultSet rs, final String[] names, final Object owner)
        throws HibernateException, SQLException {
    checkInitialization();
    final BigDecimal decimalMessage = rs.getBigDecimal(names[0]);
    if (rs.wasNull()) {
        return null;
    }
    final BigInteger message = 
        decimalMessage.setScale(0, BigDecimal.ROUND_UNNECESSARY).
            unscaledValue();
    return this.encryptor.decrypt(message);
}
 
源代码13 项目: StatsAgg   文件: NotificationGroupsDao.java
public Map<Integer,String> getNotificationGroupNames_ById() {
    
    try {

        if (!isConnectionValid()) {
            return new HashMap<>();
        }

        Map<Integer,String> notificationGroupNames_ById = new HashMap<>();
        
        databaseInterface_.createPreparedStatement(NotificationGroupsSql.Select_AllNotificationGroup_IdsAndNames, 1000);
        databaseInterface_.executePreparedStatement();
        
        if (!databaseInterface_.isResultSetValid()) {
            return new HashMap<>();
        }

        ResultSet resultSet = databaseInterface_.getResults();
        
        while (resultSet.next()) {
            Integer id = resultSet.getInt("ID");
            if (resultSet.wasNull()) id = null;
            
            String name = resultSet.getString("NAME");
            if (resultSet.wasNull()) name = null;

            if ((id != null) && (name != null)) notificationGroupNames_ById.put(id, name);
        }
        
        return notificationGroupNames_ById;
    }
    catch (Exception e) {
        logger.error(e.toString() + System.lineSeparator() + StackTrace.getStringFromStackTrace(e));
        return new HashMap<>();
    }
    finally {
        databaseInterface_.cleanupAutomatic();
    } 
    
}
 
源代码14 项目: openemm   文件: ComBindingEntryDaoImpl.java
@Override
public BindingEntry mapRow(ResultSet resultSet, int row) throws SQLException {
	BindingEntry readEntry = new BindingEntryImpl();
	readEntry.setBindingEntryDao(bindingEntryDao);
	
	readEntry.setCustomerID(resultSet.getInt("customer_id"));
	readEntry.setMailinglistID(resultSet.getInt("mailinglist_id"));
	readEntry.setMediaType(resultSet.getInt("mediatype"));
	readEntry.setUserType(resultSet.getString("user_type"));
	readEntry.setUserStatus(resultSet.getInt("user_status"));
	readEntry.setChangeDate(resultSet.getTimestamp("timestamp"));
	readEntry.setExitMailingID(resultSet.getInt("exit_mailing_id"));
	if (resultSet.wasNull()) {
		readEntry.setExitMailingID(0);
	}
	
	if (DbUtilities.resultsetHasColumn(resultSet, "entry_mailing_id")) {
		readEntry.setEntryMailingID(resultSet.getInt("entry_mailing_id"));
		if (resultSet.wasNull()) {
			readEntry.setEntryMailingID(0);
		}
	} else {
		readEntry.setEntryMailingID(0);
	}
	
	readEntry.setUserRemark(resultSet.getString("user_remark"));
	if (DbUtilities.resultsetHasColumn(resultSet, "referrer")) {
		readEntry.setReferrer(resultSet.getString("referrer"));
	}
	readEntry.setCreationDate(resultSet.getTimestamp("creation_date"));

	return readEntry;
}
 
源代码15 项目: cacheonix-core   文件: IncrementGenerator.java
private void getNext( SessionImplementor session ) {

		log.debug("fetching initial value: " + sql);
		
		try {
			PreparedStatement st = session.getBatcher().prepareSelectStatement(sql);
			try {
				ResultSet rs = st.executeQuery();
				try {
					if ( rs.next() ) {
						next = rs.getLong(1) + 1;
						if ( rs.wasNull() ) next = 1;
					}
					else {
						next = 1;
					}
					sql=null;
					log.debug("first free id: " + next);
				}
				finally {
					rs.close();
				}
			}
			finally {
				session.getBatcher().closeStatement(st);
			}
			
		}
		catch (SQLException sqle) {
			throw JDBCExceptionHelper.convert(
					session.getFactory().getSQLExceptionConverter(),
					sqle,
					"could not fetch initial value for increment generator",
					sql
				);
		}
	}
 
源代码16 项目: presto   文件: DatabaseUtil.java
public static Long getBoxedLong(ResultSet rs, String name)
        throws SQLException
{
    long value = rs.getLong(name);
    return rs.wasNull() ? null : value;
}
 
源代码17 项目: reladomo   文件: SingleColumnByteArrayAttribute.java
public Object readResultSet(ResultSet rs, int pos, DatabaseType databaseType, TimeZone timeZone) throws SQLException
{
    byte[] result = rs.getBytes(pos);
    if (rs.wasNull()) result = null;
    return result;
}
 
源代码18 项目: morpheus-core   文件: SQLExtractor.java
@Override
@SuppressWarnings("unchecked")
public <V> V getValue(ResultSet rs, int colIndex) throws SQLException {
    final double value = rs.getDouble(colIndex);
    return rs.wasNull() ? null : (V)new Double(value);
}
 
源代码19 项目: gemfirexd-oss   文件: XMLBindingTest.java
/**
 * Test serialization of the XML values inserted as part
 * XBindTestSetup processing.  For the documents that are
 * are larger than 32K, this tests that they can be correctly
 * read from disk as a stream (instead of just as as string).
 */
public void testXMLSerializeBinding() throws Exception
{
    // Array of expected character counts for every row inserted
    // into xTable.t1 as part of XBindTestSetup setup.  A "0"
    // means empty string; a "-1" means we inserted a null.
    int [] expectedCharCounts =
        new int [] { 40228, 38712, 1948, 1942, 1967, 1709, 22, -1, -1 };
    // GemStone changes BEGIN
    // results will be in unpredicatable order, so keep counts in
    // lists for later comparison.
    ArrayList<Integer> expectedCountsList = new ArrayList<Integer>(expectedCharCounts.length);
    ArrayList<Integer> actualCountsList = new ArrayList<Integer>();
    for (int i=0; i<expectedCharCounts.length; i++) {
      expectedCountsList.add(new Integer(expectedCharCounts[i]));
    }
    // GemStone changes END
    int rowCount = 0;
    ResultSet rs = createStatement().executeQuery(
            "select i, XMLSERIALIZE(X AS CLOB) FROM xTable.t1");

    while (rs.next())
    {
        int charCount;
        java.io.Reader xResult = rs.getCharacterStream(2);

        // Count the number of characters we read back.
        if (!rs.wasNull())
        {
            int ch = xResult.read();
            for (charCount = 0; ch != -1; ch = xResult.read())
            {
                /* Xalan serialization produces platform-specific line-
                 * endings (DERBY-2106), which can throw off the character
                 * count on Windows.  So if we see the Windows '\r' char
                 * we do not count it.
                 */
                if ((char)ch != '\r')
                    charCount++;
            }
            xResult.close();
        }
        else
            charCount = -1;

        // GemStone changes BEGIN
        actualCountsList.add(new Integer(charCount));
        //assertEquals("Unexpected serialized character count:",
        //    expectedCharCounts[rowCount], charCount);
        // GemStone changes END

        rowCount++;
    }

    assertEquals("Unexpected row count when serializing:",
        expectedCharCounts.length, rowCount);
    // GemStone changes BEGIN
    actualCountsList.removeAll(expectedCountsList);
    assertEquals(actualCountsList.size(), 0);
    // GemStone changes END

    /* Test binding to the XMLSERIALIZE operand.  Since
     * the operand is an XML value, and since we don't
     * allow binding to an XML value (which is tested in
     * testInvalidXMLBindings()), there's nothing more to
     * to do here.
     */
}
 
源代码20 项目: morf   文件: SqlDialect.java
/**
 * Given an ordered list of columns and a {@link ResultSet}, creates a
 * {@link Record} from the current row.
 *
 * @param resultSet The {@link ResultSet}. Must have been advanced (using
 *          {@link ResultSet#next()}) to the appropriate row.
 * @param columns The columns, ordered according to their appearance in the
 *          {@link ResultSet}. Use {@link ResultSetMetadataSorter} to pre-sort
 *          your columns according to the {@link ResultSetMetaData} if you
 *          can't be sure that the SQL will return the columns in the precise
 *          order that you are expecting.
 * @return A {@link Record} representation of the current {@link ResultSet}
 *         row.
 */
public Record resultSetToRecord(ResultSet resultSet, Iterable<Column> columns) {

  // Provide initial sizing hint to the array. This potentially means double-traversal
  // of the columns if the column list is not a simple list, but it's almost certainly
  // worth it to minimise the array size and prevent resizing.
  RecordBuilder recordBuilder = DataSetUtils.record()
      .withInitialColumnCount(Iterables.size(columns));

  int idx = 1;
  for (Column column : columns) {
    try {
      switch (column.getType()) {
        case BIG_INTEGER:
          long longVal = resultSet.getLong(idx);
          if (resultSet.wasNull()) {
            recordBuilder.setObject(column.getName(), null);
          } else {
            recordBuilder.setLong(column.getName(), longVal);
          }
          break;
        case BOOLEAN:
          boolean boolVal = resultSet.getBoolean(idx);
          if (resultSet.wasNull()) {
            recordBuilder.setObject(column.getName(), null);
          } else {
            recordBuilder.setBoolean(column.getName(), boolVal);
          }
          break;
        case INTEGER:
          int intVal = resultSet.getInt(idx);
          if (resultSet.wasNull()) {
            recordBuilder.setObject(column.getName(), null);
          } else {
            recordBuilder.setInteger(column.getName(), intVal);
          }
          break;
        case DATE:
          Date date = resultSet.getDate(idx);
          if (date == null) {
            recordBuilder.setObject(column.getName(), null);
          } else {
            recordBuilder.setDate(column.getName(), date);
          }
          break;
        case DECIMAL:
          recordBuilder.setBigDecimal(column.getName(), resultSet.getBigDecimal(idx));
          break;
        case BLOB:
          recordBuilder.setByteArray(column.getName(), resultSet.getBytes(idx));
          break;
        case CLOB:
        case STRING:
          recordBuilder.setString(column.getName(), resultSet.getString(idx));
          break;
        default:
          recordBuilder.setObject(column.getName(), resultSet.getObject(idx));
          break;
      }
      idx++;
    } catch (SQLException e) {
      throw new RuntimeSqlException("Error retrieving value from result set with name [" + column.getName() + "]", e);
    }
  }
  return recordBuilder;
}