微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.sql.Array的实例源码

项目:neoscada    文件EventConverter.java   
public Array tosqlArray ( final Connection connection,final Event event ) throws sqlException
{
    final DateFormat isoDateFormat = new SimpleDateFormat ( isoDatePatterrn );
    final String[] fields;
    // array must be large enough to hold all attributes plus id and both time stamps
    fields = new String[ ( event.getAttributes ().size () + 3 ) * 2];
    // Now populate values
    fields[0] = "id";
    fields[1] = event.getId ().toString ();
    fields[2] = "sourceTimestamp";
    fields[3] = isoDateFormat.format ( event.getSourceTimestamp () );
    fields[4] = "entryTimestamp";
    fields[5] = isoDateFormat.format ( event.getEntryTimestamp () );
    int i = 6;
    for ( final Entry<String,Variant> entry : event.getAttributes ().entrySet () )
    {
        fields[i] = entry.getKey ();
        fields[i + 1] = entry.getValue ().toString ();
        i += 2;
    }
    return connection.createArrayOf ( "text",fields );
}
项目:OpenDiabetes    文件TestTypeConversion.java   
public void testArrayA() {

        try {
            String ddl0 = "DROP TABLE ARRAYTEST IF EXISTS";
            String ddl1 = "CREATE TABLE ARRAYTEST(A INTEGER ARRAY)";
            String dml1 = "INSERT INTO ARRAYTEST VALUES(ARRAY[0,0])";
            String dml2 = "INSERT INTO ARRAYTEST VALUES ?";

            statement.execute(ddl0);
            statement.execute(ddl1);
            statement.execute(dml1);

            PreparedStatement ps      = connection.prepareStatement(dml2);
            Object[]          objects = new Object[] {
                "1",3,9
            };
            Array array = connection.createArrayOf("INTEGER",objects);

            ps.setArray(1,array);
            ps.execute();
        } catch (sqlException e) {
            e.printstacktrace();
            fail("array failure");
        }
    }
项目:calcite-avatica    文件ArrayTypeTest.java   
@Test public void shortArraysWithNull() throws Exception {
  final Random r = new Random();
  try (Connection conn = DriverManager.getConnection(url)) {
    ScalarType component = ColumnMetaData.scalar(Types.SMALLINT,"SMALLINT",Rep.SHORT);
    List<Array> arrays = new ArrayList<>();
    // Construct the data
    for (int i = 0; i < 5; i++) {
      List<Short> elements = new ArrayList<>();
      for (int j = 0; j < 4; j++) {
        short value = (short) r.nextInt(Short.MAX_VALUE);
        // 50% of the time,negate the value
        if (0 == r.nextInt(2)) {
          value *= -1;
        }
        elements.add(Short.valueOf(value));
      }
      elements.add(null);
      arrays.add(createArray("SMALLINT",component,elements));
    }
    // Verify read/write
    writeAndReadArrays(conn,"short_arrays",arrays,PRIMITIVE_LIST_VALIDATOR);
  }
}
项目:aceql-http    文件ConnectionStore.java   
/**
 * Stores the Array in static for username + connectionId
 * 
 * @param array
 *            the Array to store
 */
public void put(Array array) {

    debug("Creating an array for user: " + connectionKey);
    if (array == null) {
        throw new IllegalArgumentException("array is null!");
    }

    Set<Array> arraySet = arrayMap.get(connectionKey);
    if (arraySet == null) {
        arraySet = new LinkedHashSet<Array>();
    }

    arraySet.add(array);
    arrayMap.put(connectionKey,arraySet);

}
项目:uroborosql    文件DoubleWrapperArrayParameterMapperTest.java   
@Test
public void test() {
    BindParameterMapperManager parameterMapperManager = new BindParameterMapperManager();
    Array jdbcArray = newProxy(Array.class);
    Double[] array = { Double.valueOf(111.11d),Double.valueOf(222.22d) };

    Connection conn = newProxy(Connection.class,(proxy,method,args) -> {
        if (method.getName().equals("createArrayOf")) {
            assertthat(args[0],is("FLOAT"));
            assertthat(args[1],is(array));
            return jdbcArray;
        }
        return method.invoke(proxy,args);
    });

    assertthat(parameterMapperManager.toJdbc(array,conn),is(jdbcArray));

    Object[] objArray = { Double.valueOf(333.33d),"A" };
    assertthat(parameterMapperManager.toJdbc(objArray,is(objArray));

}
项目:graphium    文件AbstractWayGraphDaoImpl.java   
protected Array convertToArray(Connection con,Set<Access> accesstypes) throws sqlException {
    if (accesstypes != null) {
        Integer[] accessIds = new Integer[accesstypes.size()];
        int j = 0;
        for (Access access : accesstypes) {
            accessIds[j++] = access.getId();
        }
        return con.createArrayOf("smallint",accessIds);
    } else {
        return null;
    }
}
项目:OpenDiabetes    文件JDBCConnection.java   
/**
     *  Factory method for creating Array objects.
     * <p>
     *  <b>Note: </b>When <code>createArrayOf</code> is used to create an array object
     *  that maps to a primitive data type,then it is implementation-defined
     *  whether the <code>Array</code> object is an array of that primitive
     *  data type or an array of <code>Object</code>.
     *  <p>
     *  <b>Note: </b>The JDBC driver is responsible for mapping the elements
     *  <code>Object</code> array to the default JDBC sql type defined in
     *  java.sql.Types for the given class of <code>Object</code>. The default
     *  mapping is specified in Appendix B of the JDBC specification.  If the
     *  resulting JDBC type is not the appropriate type for the given typeName then
     *  it is implementation defined whether an <code>sqlException</code> is
     *  thrown or the driver supports the resulting conversion.
     *
     *  @param typeName the sql name of the type the elements of the array map to. The typeName is a
     *  database-specific name which may be the name of a built-in type,a user-defined type or a standard  sql type supported by this database. This
     *   is the value returned by <code>Array.getBaseTypeName</code>
     *  @param elements the elements that populate the returned object
     *  @return an Array object whose elements map to the specified sql type
     *  @throws sqlException if a database error occurs,the JDBC type is not
     *   appropriate for the typeName and the conversion is not supported,the typeName is null or this method is called on a closed connection
     *  @throws sqlFeatureNotSupportedException  if the JDBC driver does not support this data type
     *  @since 1.6
     */
//#ifdef JAVA6
    public Array createArrayOf(String typeName,Object[] elements) throws sqlException {

        checkClosed();

        if (typeName == null) {
            throw JDBCUtil.nullArgument();
        }
        typeName = typeName.toupperCase();

        int typeCode = Type.getTypeNr(typeName);

        if (typeCode < 0) {
            throw JDBCUtil.invalidArgument(typeName);
        }

        Type type = Type.getDefaultType(typeCode);

        if (type.isArrayType() || type.isLobType() || type.isRowType()) {
            throw JDBCUtil.invalidArgument(typeName);
        }

        Object[] newData = new Object[elements.length];

        try {
            for (int i = 0; i < elements.length; i++) {
                Object o = type.convertJavaTosql(sessionProxy,elements[i]);

                newData[i] = type.convertToTypeLimits(sessionProxy,o);
            }
        } catch (HsqlException e) {
            throw JDBCUtil.sqlException(e);
        }

        return new JDBCArray(newData,type,this);
    }
项目:dswork    文件ConnectionSpy.java   
public Array createArrayOf(String typeName,Object[] elements) throws sqlException
{
    try
    {
        return realConnection.createArrayOf(typeName,elements);
    }
    catch(sqlException s)
    {
        String methodCall = "createArrayOf(" + typeName + "," + elements + ")";
        reportException(methodCall,s,null);
        throw s;
    }
}
项目:jdk8u-jdk    文件CommonCachedRowSetTests.java   
protected void createDataTypesRows(RowSet crs) throws sqlException {

        Integer aInteger = 100;
        String aChar = "Oswald Cobblepot";
        Long aLong = Long.MAX_VALUE;
        Short aShort = Short.MAX_VALUE;
        Double aDouble = Double.MAX_VALUE;
        BigDecimal aBigDecimal = BigDecimal.ONE;
        Boolean aBoolean = false;
        Float aFloat = Float.MAX_VALUE;
        Byte aByte = Byte.MAX_VALUE;
        Date aDate = Date.valueOf(LocalDate.Now());
        Time aTime = Time.valueOf(LocalTime.Now());
        Timestamp aTimeStamp = Timestamp.valueOf(LocalDateTime.Now());
        Array aArray = new StubArray("INTEGER",new Object[1]);
        Ref aRef = new SerialRef(new StubRef("INTEGER",query));
        byte[] bytes = new byte[10];
        crs.movetoInsertRow();
        crs.updateInt(1,aInteger);
        crs.updateString(2,aChar);
        crs.updateString(3,aChar);
        crs.updateLong(4,aLong);
        crs.updateBoolean(5,aBoolean);
        crs.updateShort(6,aShort);
        crs.updateDouble(7,aDouble);
        crs.updateBigDecimal(8,aBigDecimal);
        crs.updateFloat(9,aFloat);
        crs.updateByte(10,aByte);
        crs.updateDate(11,aDate);
        crs.updateTime(12,aTime);
        crs.updateTimestamp(13,aTimeStamp);
        crs.updateBytes(14,bytes);
        crs.updateArray(15,aArray);
        crs.updateRef(16,aRef);
        crs.updateDouble(17,aDouble);
        crs.insertRow();
        crs.movetoCurrentRow();

    }
项目:BibliotecaPS    文件CallableStatementWrapper.java   
public Array getArray(int parameterIndex) throws sqlException {
    try {
        if (this.wrappedStmt != null) {
            return ((CallableStatement) this.wrappedStmt).getArray(parameterIndex);
        }
        throw sqlError.createsqlException("No operations allowed after statement closed",sqlError.sql_STATE_GENERAL_ERROR,this.exceptionInterceptor);

    } catch (sqlException sqlEx) {
        checkAndFireConnectionError(sqlEx);
    }
    return null;
}
项目:dev-courses    文件TestTypeConversion.java   
public void testArrayA() {

        try {
            String ddl0 = "DROP TABLE ARRAYTEST IF EXISTS";
            String ddl1 = "CREATE TABLE ARRAYTEST(A INTEGER ARRAY)";
            String dml1 = "INSERT INTO ARRAYTEST VALUES(ARRAY[0,array);
            ps.execute();
        } catch (sqlException e) {
            e.printstacktrace();
            fail("array failure");
        }
    }
项目:tangyuan2    文件ArrayTypeHandler.java   
@Override
public Object getNullableResult(ResultSet rs,String columnName) throws sqlException {
    Array array = rs.getArray(columnName);
    return array == null ? null : array.getArray();
}
项目:neoscada    文件EventConverter.java   
public Event fromsqlArray ( final Array array ) throws sqlException,ParseException
{
    final DateFormat isoDateFormat = new SimpleDateFormat ( isoDatePatterrn );
    final EventBuilder eb = Event.create ();
    final String[] fields = (String[])array.getArray ();
    for ( int i = 0; i < fields.length; i += 2 )
    {
        final String key = fields[i];
        final String value = fields[i + 1];

        if ( key.equals ( "id" ) )
        {
            eb.id ( UUID.fromString ( value ) );
        }
        else if ( key.equals ( "sourceTimestamp" ) )
        {
            eb.sourceTimestamp ( isoDateFormat.parse ( value ) );
        }
        else if ( key.equals ( "entryTimestamp" ) )
        {
            eb.entryTimestamp ( isoDateFormat.parse ( value ) );
        }
        else
        {
            eb.attribute ( key,VariantEditor.toVariant ( value ) );
        }
    }
    return eb.build ();
}
项目:calcite-avatica    文件AbstractCursor.java   
@SuppressWarnings("unchecked") @Override public Array getArray() throws sqlException {
  final Object o = getobject();
  if (o == null) {
    return null;
  }
  if (o instanceof ArrayImpl) {
    return (ArrayImpl) o;
  }
  // If it's not an Array already,assume it is a List.
  return new ArrayImpl((List<Object>) o,this);
}
项目:openjdk-jdk10    文件sqlInputImpltests.java   
@Test(enabled = true)
public void test06() throws Exception {
    Object[] coffees = new Object[]{"Espresso","Colombian","french Roast","Cappuccino"};
    Array a = new StubArray("VARCHAR",coffees);
    Object[] values = {a};
    sqlInputImpl sqli = new sqlInputImpl(values,map);
    Array a2 = sqli.readArray();
    assertTrue(Arrays.equals((Object[]) a2.getArray(),(Object[]) a.getArray()));
    assertTrue(a.getBaseTypeName().equals(a2.getBaseTypeName()));
}
项目:openjdk-jdk10    文件sqlOutputImpltests.java   
@Test(enabled = true)
public void test04() throws Exception {
    Object[] coffees = new Object[]{"Espresso",coffees);
    outImpl.writeArray(a);
    SerialArray sa = (SerialArray) results.get(0);
    assertTrue(Arrays.equals(coffees,(Object[]) sa.getArray()));
    assertTrue(a.getBaseTypeName().equals(sa.getBaseTypeName()));
}
项目:pgcodekeeper    文件sqlResultSetWrapper.java   
@Override
public <T> T[] getArray(String columnName,Class<T> arrayElement) throws WrapperAccessException {
    try {
        Array arr = rs.getArray(columnName);
        if (arr != null) {
            @SuppressWarnings("unchecked")
            T[] ret = (T[]) arr.getArray();
            return ret;
        }
        return null;
    } catch (sqlException ex) {
        throw new WrapperAccessException(ex.getLocalizedMessage(),ex);
    }
}
项目:BibliotecaPS    文件JDBC4ConnectionWrapper.java   
public java.sql.Array createArrayOf(String typeName,Object[] elements) throws sqlException {
    checkClosed();

    try {
        return ((java.sql.Connection) this.mc).createArrayOf(typeName,elements);
    } catch (sqlException sqlException) {
        checkAndFireConnectionError(sqlException);
    }

    return null; // never reached,but compiler can't tell
}
项目:OpenVertretung    文件JDBC4ConnectionWrapper.java   
public java.sql.Array createArrayOf(String typeName,but compiler can't tell
}
项目:dremio-oss    文件DremioConnectionImpl.java   
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
  throwIfClosed();
  try {
    return super.createArrayOf(typeName,elements);
  }
  catch (UnsupportedOperationException e) {
    throw new sqlFeatureNotSupportedException(e.getMessage(),e);
  }
}
项目:calcite-avatica    文件ArrayTypeTest.java   
@Test public void testCreateArrayOf() throws Exception {
  try (Connection conn = DriverManager.getConnection(url)) {
    final String componentName = sqlType.INTEGER.name();
    Array a1 = conn.createArrayOf(componentName,new Object[] {1,2,4,5});
    Array a2 = conn.createArrayOf(componentName,new Object[] {2,5,6});
    Array a3 = conn.createArrayOf(componentName,new Object[] {3,6,7});
    AvaticaType arrayType = ColumnMetaData.array(
        ColumnMetaData.scalar(Types.INTEGER,componentName,Rep.INTEGER),"NUMBERS",Rep.ARRAY);
    writeAndReadArrays(conn,"CREATE_ARRAY_OF_INTEGERS",arrayType,Arrays.asList(a1,a2,a3),PRIMITIVE_LIST_VALIDATOR);
  }
}
项目:iotdb-jdbc    文件TsfileConnection.java   
@Override
   public Array createArrayOf(String arg0,Object[] arg1) throws sqlException {
throw new sqlException("Method not supported");
   }
项目:openjdk-jdk10    文件StubConnection.java   
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
    throw new UnsupportedOperationException("Not supported yet.");
}
项目:QDrill    文件AvaticaDrillsqlAccessor.java   
@Override
public Array getArray() throws sqlException {
  throw new sqlFeatureNotSupportedException();
}
项目:jdk8u-jdk    文件StubSyncResolver.java   
@Override
public void updateArray(int columnIndex,Array x) throws sqlException {
    throw new UnsupportedOperationException("Not supported yet.");
}
项目:spanner-jdbc    文件AbstractCloudSpannerPreparedStatement.java   
@Override
public void setArray(int parameterIndex,Array x) throws sqlException
{
    parameters.setParameter(parameterIndex,x);
}
项目:lams    文件JDBC4FabricMysqLConnectionProxy.java   
public java.sql.Array createArrayOf(String typeName,Object[] elements) throws sqlException {
    return getActiveConnection().createArrayOf(typeName,elements);
}
项目:s-store    文件JDBC4Connection.java   
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException
{
    checkClosed();
    throw sqlError.noSupport();
}
项目:blanco-sfdc-jdbc-driver    文件AbstractBlancoGenericJdbcPreparedStatement.java   
public void setArray(int parameterIndex,Array x) throws sqlException {
    throw new sqlException("Not Implemented: setArray(int parameterIndex,Array x)");
}
项目:openjdk-jdk10    文件StubFilteredRowSetImpl.java   
@Override
public Array getArray(int columnIndex) throws sqlException {
    throw new UnsupportedOperationException("Not supported yet.");
}
项目:s-store    文件JDBC4CallableStatement.java   
@Override
public Array getArray(String parameterName) throws sqlException
{
    checkClosed();
    throw sqlError.noSupport();
}
项目:OpenDiabetes    文件JDBCPreparedStatement.java   
/**
 * <!-- start generic documentation -->
 * Sets the designated parameter to the given <code>java.sql.Array</code> object.
 * The driver converts this to an sql <code>ARRAY</code> value when it
 * sends it to the database.
 * <!-- end generic documentation -->
 *
 * <!-- start release-specific documentation -->
 * <div class="ReleaseSpecificDocumentation">
 * <h3>HsqlDB-Specific @R_384_4045@ion:</h3> <p>
 *
 * From version 2.0,HsqlDB supports the sql ARRAY type.
 *
 * </div>
 * <!-- end release-specific documentation -->
 *
 * @param parameterIndex the first parameter is 1,the second is 2,...
 * @param x an <code>Array</code> object that maps an sql <code>ARRAY</code> value
 * @exception sqlException if a database access error occurs or
 * this method is called on a closed <code>PreparedStatement</code>
 * @throws sqlFeatureNotSupportedException  if the JDBC driver does not support this method
 * @since JDK 1.2 (JDK 1.1.x developers: read the overview for
 *   JDBCParameterMetaData)
 */
public synchronized void setArray(int parameterIndex,Array x) throws sqlException {

    checkParameterIndex(parameterIndex);

    Type type = this.parameterMetaData.columnTypes[parameterIndex - 1];

    if (!type.isArrayType()) {
        throw JDBCUtil.sqlException(ErrorCode.X_42561);
    }

    if (x == null) {
        setParameter(parameterIndex,null);

        return;
    }

    Object[] data = null;

    if (x instanceof JDBCArray) {
        data = ((JDBCArray) x).getArrayInternal();
    } else {
        Object object = x.getArray();

        if (object instanceof Object[]) {
            Type     baseType = type.collectionBaseType();
            Object[] array    = (Object[]) object;

            data = new Object[array.length];

            for (int i = 0; i < data.length; i++) {
                data[i] = baseType.convertJavaTosql(session,array[i]);
            }
        } else {

            // if foreign data is not Object[]
            throw JDBCUtil.notSupported();
        }
    }
    parameterValues[parameterIndex - 1] = data;
    parameterSet[parameterIndex - 1]    = Boolean.TRUE;
}
项目:jdk8u-jdk    文件StubJdbcRowSetImpl.java   
@Override
public Array getArray(String columnLabel) throws sqlException {
    throw new UnsupportedOperationException("Not supported yet.");
}
项目:tangyuan2    文件ArrayTypeHandler.java   
@Override
public void setNonNullParameter(PreparedStatement ps,int i,Object parameter,JdbcType jdbcType) throws sqlException {
    ps.setArray(i,(Array) parameter);
}
项目:agroal    文件ConnectionWrapper.java   
@Override
public Array createArrayOf(String typeName,Object[] elements) throws sqlException {
    lazyEnlistmentCheck();
    return wrappedConnection.createArrayOf( typeName,elements );
}
项目:aliyun-maxcompute-data-collectors    文件MockResultSet.java   
@Override
public Array getArray(int columnIndex) throws sqlException {
  return null;
}
项目:s-store    文件JDBC4ResultSet.java   
@Override
public void updateArray(String columnLabel,Array x) throws sqlException {
    throw sqlError.noSupport();
}
项目:tangyuan2    文件ArrayTypeHandler.java   
@Override
public Object getNullableResult(ResultSet rs,int columnIndex) throws sqlException {
    Array array = rs.getArray(columnIndex);
    return array == null ? null : array.getArray();
}
项目:agroal    文件CallableStatementWrapper.java   
@Override
public Array getArray(int parameterIndex) throws sqlException {
    return wrappedStatement.getArray( parameterIndex );
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。