Package com.j256.ormlite.support

Examples of com.j256.ormlite.support.DatabaseResults


  public <T> Object queryForOne(String statement, Object[] args, FieldType[] argFieldTypes,
      GenericRowMapper<T> rowMapper) throws SQLException {
    PreparedStatement stmt =
        connection.prepareStatement(statement, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
    statementSetArgs(stmt, args, argFieldTypes);
    DatabaseResults results = new H2DatabaseResults(stmt.executeQuery());
    if (!results.next()) {
      // no results at all
      return null;
    }
    T first = rowMapper.mapRow(results);
    if (results.next()) {
      return MORE_THAN_ONE;
    } else {
      return first;
    }
  }
View Full Code Here


    assertEquals(new Byte((byte) 0), booleanFieldConverter.javaToSqlArg(fieldType, Boolean.FALSE));
  }

  @Test
  public void testBooleanConverterResultToJava() throws Exception {
    DatabaseResults results = createMock(DatabaseResults.class);
    boolean first = Boolean.TRUE;
    boolean second = Boolean.FALSE;
    expect(results.getByte(1)).andReturn((byte) 1);
    expect(results.getByte(2)).andReturn((byte) 0);
    replay(results);
    FieldType fieldType =
        FieldType.createFieldType(connectionSource, "foo", ManyFields.class.getDeclaredField("bool"),
            ManyFields.class);
    assertEquals(first, booleanFieldConverter.resultToJava(fieldType, results, 1));
View Full Code Here

  private void testStatement(ConnectionSource connectionSource, DatabaseType databaseType, String statement,
      String queryAfter, int rowN, boolean throwExecute, Callable<Integer> callable) throws Exception {
    DatabaseConnection conn = createMock(DatabaseConnection.class);
    CompiledStatement stmt = createMock(CompiledStatement.class);
    DatabaseResults results = null;
    final AtomicInteger rowC = new AtomicInteger(1);
    if (throwExecute) {
      expect(conn.compileStatement(isA(String.class), isA(StatementType.class), isA(FieldType[].class))).andThrow(
          new SQLException("you asked us to!!"));
    } else {
      expect(conn.compileStatement(isA(String.class), isA(StatementType.class), isA(FieldType[].class))).andReturn(
          stmt);
      expect(stmt.runUpdate()).andReturn(rowN);
      stmt.close();
      if (queryAfter != null) {
        expect(conn.compileStatement(isA(String.class), isA(StatementType.class), isA(FieldType[].class))).andReturn(
            stmt);
        results = createMock(DatabaseResults.class);
        expect(results.next()).andReturn(false);
        expect(stmt.runQuery()).andReturn(results);
        stmt.close();
        replay(results);
        rowC.incrementAndGet();
      }
View Full Code Here

      GenericRowMapper<T> rowMapper) throws SQLException {
    PreparedStatement stmt =
        connection.prepareStatement(statement, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
    try {
      statementSetArgs(stmt, args, argFieldTypes);
      DatabaseResults results = new JdbcDatabaseResults(stmt, stmt.executeQuery());
      if (!results.next()) {
        // no results at all
        return null;
      }
      T first = rowMapper.mapRow(results);
      if (results.next()) {
        return MORE_THAN_ONE;
      } else {
        return first;
      }
    } finally {
View Full Code Here

        new FieldType[] { FieldType.createFieldType(connectionSource, tableName, field, Foo.class) };
    BaseMappedQuery<Foo, Integer> baseMappedQuery =
        new BaseMappedQuery<Foo, Integer>(baseFooTableInfo, "select * from " + tableName, new FieldType[0],
            resultFieldTypes) {
        };
    DatabaseResults results = createMock(DatabaseResults.class);
    int colN = 1;
    expect(results.getObjectCache()).andReturn(null);
    expect(results.findColumn(Foo.ID_COLUMN_NAME)).andReturn(colN);
    int id = 63365;
    expect(results.getInt(colN)).andReturn(id);
    replay(results);
    Foo baseFoo = baseMappedQuery.mapRow(results);
    assertNotNull(baseFoo);
    assertEquals(id, baseFoo.id);
    verify(results);
View Full Code Here

    CompiledStatement stmt = null;
    try {
      stmt =
          conn.compileStatement("select * from " + TABLE_NAME, StatementType.SELECT, noFieldTypes,
              DatabaseConnection.DEFAULT_RESULT_FLAGS);
      DatabaseResults results = stmt.runQuery(null);
      assertTrue(results.next());
      assertEquals(
          val.ordinal(),
          DataType.ENUM_INTEGER.getDataPersister().resultToJava(null, results,
              results.findColumn(ENUM_COLUMN)));
    } finally {
      if (stmt != null) {
        stmt.close();
      }
      connectionSource.releaseConnection(conn);
View Full Code Here

    CompiledStatement stmt = null;
    try {
      stmt =
          conn.compileStatement("select * from " + TABLE_NAME, StatementType.SELECT, noFieldTypes,
              DatabaseConnection.DEFAULT_RESULT_FLAGS);
      DatabaseResults results = stmt.runQuery(null);
      assertTrue(results.next());
      assertEquals(val.toString(),
          DataType.ENUM_STRING.getDataPersister()
              .resultToJava(null, results, results.findColumn(ENUM_COLUMN)));
    } finally {
      if (stmt != null) {
        stmt.close();
      }
      connectionSource.releaseConnection(conn);
View Full Code Here

    CompiledStatement stmt = null;
    try {
      stmt =
          conn.compileStatement("select * from " + TABLE_NAME, StatementType.SELECT, noFieldTypes,
              DatabaseConnection.DEFAULT_RESULT_FLAGS);
      DatabaseResults results = stmt.runQuery(null);
      assertTrue(results.next());
      int colNum = results.findColumn(STRING_COLUMN);
      DataType.DATE_STRING.getDataPersister().resultToJava(null, results, colNum);
    } finally {
      if (stmt != null) {
        stmt.close();
      }
View Full Code Here

    assertEquals(value, DateTimeType.getSingleton().parseDefaultString(null, value.toString()));
  }

  @Test(expected = SQLException.class)
  public void testResultToSqlArg() throws Exception {
    DatabaseResults results = createMock(DatabaseResults.class);
    int col = 21;
    long value = 2094234324L;
    expect(results.getLong(col)).andReturn(value);
    replay(results);
    DateTimeType.getSingleton().resultToJava(null, results, col);
  }
View Full Code Here

    CompiledStatement stmt = null;
    try {
      stmt =
          conn.compileStatement("select * from " + TABLE_NAME, StatementType.SELECT, noFieldTypes,
              DatabaseConnection.DEFAULT_RESULT_FLAGS);
      DatabaseResults results = stmt.runQuery(null);
      assertTrue(results.next());
      int colNum = results.findColumn(columnName);
      Field field = clazz.getDeclaredField(columnName);
      FieldType fieldType = FieldType.createFieldType(connectionSource, TABLE_NAME, field, clazz);
      Class<?>[] classes = fieldType.getDataPersister().getAssociatedClasses();
      if (classes.length > 0) {
        assertTrue(classes[0].isAssignableFrom(fieldType.getType()));
      }
      assertTrue(fieldType.getDataPersister().isValidForField(field));
      if (javaVal instanceof byte[]) {
        assertTrue(Arrays.equals((byte[]) javaVal,
            (byte[]) dataPersister.resultToJava(fieldType, results, colNum)));
      } else {
        Map<String, Integer> colMap = new HashMap<String, Integer>();
        colMap.put(columnName, colNum);
        Object result = fieldType.resultToJava(results, colMap);
        assertEquals(javaVal, result);
      }
      if (dataType == DataType.STRING_BYTES || dataType == DataType.BYTE_ARRAY
          || dataType == DataType.SERIALIZABLE) {
        try {
          dataPersister.parseDefaultString(fieldType, "");
          fail("parseDefaultString should have thrown for " + dataType);
        } catch (SQLException e) {
          // expected
        }
      } else if (defaultValStr != null) {
        assertEquals(defaultSqlVal, dataPersister.parseDefaultString(fieldType, defaultValStr));
      }
      if (sqlArg == null) {
        // noop
      } else if (sqlArg instanceof byte[]) {
        assertTrue(Arrays.equals((byte[]) sqlArg, (byte[]) dataPersister.javaToSqlArg(fieldType, javaVal)));
      } else {
        assertEquals(sqlArg, dataPersister.javaToSqlArg(fieldType, javaVal));
      }
      assertEquals(isValidGeneratedType, dataPersister.isValidGeneratedType());
      assertEquals(isAppropriateId, dataPersister.isAppropriateId());
      assertEquals(isEscapedValue, dataPersister.isEscapedValue());
      assertEquals(isEscapedValue, dataPersister.isEscapedDefaultValue());
      assertEquals(isPrimitive, dataPersister.isPrimitive());
      assertEquals(isSelectArgRequired, dataPersister.isArgumentHolderRequired());
      assertEquals(isStreamType, dataPersister.isStreamType());
      assertEquals(isComparable, dataPersister.isComparable());
      if (isConvertableId) {
        assertNotNull(dataPersister.convertIdNumber(10));
      } else {
        assertNull(dataPersister.convertIdNumber(10));
      }
      List<T> list = dao.queryForAll();
      assertEquals(1, list.size());
      assertTrue(dao.objectsEqual(foo, list.get(0)));
      // if we have a value then look for it, floats don't find any results because of rounding issues
      if (javaVal != null && dataPersister.isComparable() && dataType != DataType.FLOAT
          && dataType != DataType.FLOAT_OBJ) {
        // test for inline arguments
        list = dao.queryForMatching(foo);
        assertEquals(1, list.size());
        assertTrue(dao.objectsEqual(foo, list.get(0)));
        // test for SelectArg arguments
        list = dao.queryForMatchingArgs(foo);
        assertEquals(1, list.size());
        assertTrue(dao.objectsEqual(foo, list.get(0)));
      }
      if (dataType == DataType.STRING_BYTES || dataType == DataType.BYTE_ARRAY
          || dataType == DataType.SERIALIZABLE) {
        // no converting from string to value
      } else {
        // test string conversion
        String stringVal = results.getString(colNum);
        Object convertedJavaVal = fieldType.convertStringToJavaField(stringVal, 0);
        assertEquals(javaVal, convertedJavaVal);
      }
    } finally {
      if (stmt != null) {
View Full Code Here

TOP

Related Classes of com.j256.ormlite.support.DatabaseResults

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.