Java 类java.sql.JDBCType 实例源码

项目:the-vigilantes    文件:StatementsTest.java   
/**
 * Helper method for *SetObject* tests.
 * Insert data into the given PreparedStatement, or any of its subclasses, with the following structure:
 * 1 - `id` INT
 * 2 - `ot1` VARCHAR
 * 3 - `ot2` BLOB
 * 4 - `odt1` VARCHAR
 * 5 - `odt2` BLOB
 * 
 * @param pstmt
 * @return the row count of inserted records.
 * @throws Exception
 */
private int insertTestDataOffsetDTTypes(PreparedStatement pstmt) throws Exception {
    pstmt.setInt(1, 1);
    pstmt.setObject(2, testOffsetTime, JDBCType.VARCHAR);
    pstmt.setObject(3, testOffsetTime);
    pstmt.setObject(4, testOffsetDateTime, JDBCType.VARCHAR);
    pstmt.setObject(5, testOffsetDateTime);
    assertEquals(1, pstmt.executeUpdate());

    if (pstmt instanceof CallableStatement) {
        CallableStatement cstmt = (CallableStatement) pstmt;

        cstmt.setInt("id", 2);
        cstmt.setObject("ot1", testOffsetTime, JDBCType.VARCHAR);
        cstmt.setObject("ot2", testOffsetTime);
        cstmt.setObject("odt1", testOffsetDateTime, JDBCType.VARCHAR);
        cstmt.setObject("odt2", testOffsetDateTime);
        assertEquals(1, cstmt.executeUpdate());

        return 2;
    }

    return 1;
}
项目:syndesis    文件:DatabaseMetaDataHelper.java   
static List<SqlParam> getJDBCInfoByColumnNames(final DatabaseMetaData meta, String catalog, 
        String schema, String tableName, final List<SqlParam> params) throws SQLException {
    List<SqlParam> paramList = new ArrayList<>();
    for (int i=0; i<params.size(); i++) {
        SqlParam param = params.get(i);
        String columnName = param.getColumn();
        ResultSet column = meta.getColumns(catalog, schema, tableName, columnName);
        if (column.getFetchSize() == 0) {
            //Postgresql does lowercase instead, so let's try that if we don't have a match
            column = meta.getColumns(catalog, schema, tableName.toLowerCase(), columnName.toLowerCase());
        }
        column.next();
        param.setJdbcType(JDBCType.valueOf(column.getInt("DATA_TYPE")));
        paramList.add(param);
    }
    return paramList;
}
项目:OpenVertretung    文件:StatementsTest.java   
/**
 * Helper method for *SetObject* tests.
 * Insert data into the given PreparedStatement, or any of its subclasses, with the following structure:
 * 1 - `id` INT
 * 2 - `ot1` VARCHAR
 * 3 - `ot2` BLOB
 * 4 - `odt1` VARCHAR
 * 5 - `odt2` BLOB
 * 
 * @param pstmt
 * @return the row count of inserted records.
 * @throws Exception
 */
private int insertTestDataOffsetDTTypes(PreparedStatement pstmt) throws Exception {
    pstmt.setInt(1, 1);
    pstmt.setObject(2, testOffsetTime, JDBCType.VARCHAR);
    pstmt.setObject(3, testOffsetTime);
    pstmt.setObject(4, testOffsetDateTime, JDBCType.VARCHAR);
    pstmt.setObject(5, testOffsetDateTime);
    assertEquals(1, pstmt.executeUpdate());

    if (pstmt instanceof CallableStatement) {
        CallableStatement cstmt = (CallableStatement) pstmt;

        cstmt.setInt("id", 2);
        cstmt.setObject("ot1", testOffsetTime, JDBCType.VARCHAR);
        cstmt.setObject("ot2", testOffsetTime);
        cstmt.setObject("odt1", testOffsetDateTime, JDBCType.VARCHAR);
        cstmt.setObject("odt2", testOffsetDateTime);
        assertEquals(1, cstmt.executeUpdate());

        return 2;
    }

    return 1;
}
项目:ProyectoPacientes    文件:StatementsTest.java   
/**
 * Helper method for *SetObject* tests.
 * Insert data into the given PreparedStatement, or any of its subclasses, with the following structure:
 * 1 - `id` INT
 * 2 - `ot1` VARCHAR
 * 3 - `ot2` BLOB
 * 4 - `odt1` VARCHAR
 * 5 - `odt2` BLOB
 * 
 * @param pstmt
 * @return the row count of inserted records.
 * @throws Exception
 */
private int insertTestDataOffsetDTTypes(PreparedStatement pstmt) throws Exception {
    pstmt.setInt(1, 1);
    pstmt.setObject(2, testOffsetTime, JDBCType.VARCHAR);
    pstmt.setObject(3, testOffsetTime);
    pstmt.setObject(4, testOffsetDateTime, JDBCType.VARCHAR);
    pstmt.setObject(5, testOffsetDateTime);
    assertEquals(1, pstmt.executeUpdate());

    if (pstmt instanceof CallableStatement) {
        CallableStatement cstmt = (CallableStatement) pstmt;

        cstmt.setInt("id", 2);
        cstmt.setObject("ot1", testOffsetTime, JDBCType.VARCHAR);
        cstmt.setObject("ot2", testOffsetTime);
        cstmt.setObject("odt1", testOffsetDateTime, JDBCType.VARCHAR);
        cstmt.setObject("odt2", testOffsetDateTime);
        assertEquals(1, cstmt.executeUpdate());

        return 2;
    }

    return 1;
}
项目:uroborosql    文件:Parameter.java   
/**
 * {@link java.sql.Types} の値を {@link java.sql.SQLType} に変換する
 * @param sqlType {@link java.sql.Types} の値
 * @return {@link java.sql.SQLType} の値
 */
private SQLType toSqlType(final int sqlType) {
    for (JDBCType type : JDBCType.values()) {
        if (type.getVendorTypeNumber().intValue() == sqlType) {
            return type;
        }
    }
    //下位互換のため、念のため生成して返す
    return new SQLType() {
        @Override
        public Integer getVendorTypeNumber() {
            return sqlType;
        }

        @Override
        public String getVendor() {
            return "unknown";
        }

        @Override
        public String getName() {
            return "unknown name:" + sqlType;
        }
    };
}
项目:uroborosql    文件:StreamParameter.java   
/**
 * ステートメントにストリームパラメータを登録。
 *
 * @param preparedStatement ステートメント
 * @param index パラメータインデックス
 * @param parameterMapperManager パラメータ変換管理クラス
 * @return 次のパラメータインデックス
 * @throws SQLException SQL例外
 */
protected int setStreamParameter(final PreparedStatement preparedStatement, int index,
        final BindParameterMapperManager parameterMapperManager) throws SQLException {

    if (Objects.equals(sqlType, JDBCType.BLOB)) {
        if (len > -1) {
            preparedStatement.setBinaryStream(index, stream, len);
        } else {
            preparedStatement.setBinaryStream(index, stream);
        }
    } else if (Objects.equals(sqlType, JDBCType.CLOB)) {
        if (len > -1) {
            preparedStatement.setAsciiStream(index, stream, len);
        } else {
            preparedStatement.setAsciiStream(index, stream);
        }
    } else {
        return super.setParameter(preparedStatement, index, parameterMapperManager);
    }

    parameterLog(index);
    index++;

    return index;
}
项目:uroborosql    文件:SqlAgentTest.java   
/**
 * DB更新処理のテストケース。
 */
@Test
public void testExecuteUpdate() throws Exception {
    // 事前条件
    cleanInsert(Paths.get("src/test/resources/data/setup", "testExecuteUpdate.ltsv"));

    SqlContext ctx = agent.contextFrom("example/selectinsert_product")
            .param("product_id", new BigDecimal("0"), JDBCType.DECIMAL)
            .param("jan_code", "1234567890123", Types.CHAR);

    int updateCount = agent.update(ctx);
    assertEquals("データの登録に失敗しました。", 1, updateCount);

    // 検証処理
    List<Map<String, Object>> expectedDataList = getDataFromFile(Paths.get(
            "src/test/resources/data/expected/SqlAgent", "testExecuteUpdate.ltsv"));
    List<Map<String, Object>> actualDataList = agent.query("example/select_product")
            .paramList("product_id", 0, 1).stream(new MapResultSetConverter(CaseFormat.LOWER_SNAKE_CASE))
            .collect(Collectors.toList());

    assertEquals(expectedDataList.toString(), actualDataList.toString());
}
项目:uroborosql    文件:SqlAgentTest.java   
/**
 * DB更新処理のテストケース。(Fluent API)
 */
@Test
public void testUpdateFluent() throws Exception {
    // 事前条件
    cleanInsert(Paths.get("src/test/resources/data/setup", "testExecuteUpdate.ltsv"));

    int updateCount = agent.update("example/selectinsert_product")
            .param("product_id", new BigDecimal("0"), JDBCType.DECIMAL)
            .param("jan_code", "1234567890123", Types.CHAR).count();
    assertEquals("データの登録に失敗しました。", 1, updateCount);

    // 検証処理
    List<Map<String, Object>> expectedDataList = getDataFromFile(Paths.get(
            "src/test/resources/data/expected/SqlAgent", "testExecuteUpdate.ltsv"));
    List<Map<String, Object>> actualDataList = agent.query("example/select_product")
            .paramList("product_id", 0, 1).stream(new MapResultSetConverter(CaseFormat.LOWER_SNAKE_CASE))
            .collect(Collectors.toList());

    assertEquals(expectedDataList.toString(), actualDataList.toString());
}
项目:uroborosql    文件:DebugSqlFilterTest.java   
@Test
public void testExecuteUpdateFilter() throws Exception {
    cleanInsert(Paths.get("src/test/resources/data/setup", "testExecuteUpdate.ltsv"));
    List<String> log = TestAppender.getLogbackLogs(() -> {
        SqlContext ctx = agent.contextFrom("example/selectinsert_product").setSqlId("222")
                .param("_userName", "testUserName").param("_funcId", "testFunction")
                .param("product_id", new BigDecimal("0"), JDBCType.DECIMAL)
                .param("jan_code", "1234567890123", Types.CHAR);
        agent.update(ctx);
    });

    assertThat(log,
            is(Files.readAllLines(
                    Paths.get("src/test/resources/data/expected/DebugSqlFilter", "testExecuteUpdateFilter.txt"),
                    StandardCharsets.UTF_8)));
}
项目:BibliotecaPS    文件:StatementsTest.java   
/**
 * Helper method for *SetObject* tests.
 * Insert data into the given PreparedStatement, or any of its subclasses, with the following structure:
 * 1 - `id` INT
 * 2 - `ot1` VARCHAR
 * 3 - `ot2` BLOB
 * 4 - `odt1` VARCHAR
 * 5 - `odt2` BLOB
 * 
 * @param pstmt
 * @return the row count of inserted records.
 * @throws Exception
 */
private int insertTestDataOffsetDTTypes(PreparedStatement pstmt) throws Exception {
    pstmt.setInt(1, 1);
    pstmt.setObject(2, testOffsetTime, JDBCType.VARCHAR);
    pstmt.setObject(3, testOffsetTime);
    pstmt.setObject(4, testOffsetDateTime, JDBCType.VARCHAR);
    pstmt.setObject(5, testOffsetDateTime);
    assertEquals(1, pstmt.executeUpdate());

    if (pstmt instanceof CallableStatement) {
        CallableStatement cstmt = (CallableStatement) pstmt;

        cstmt.setInt("id", 2);
        cstmt.setObject("ot1", testOffsetTime, JDBCType.VARCHAR);
        cstmt.setObject("ot2", testOffsetTime);
        cstmt.setObject("odt1", testOffsetDateTime, JDBCType.VARCHAR);
        cstmt.setObject("odt2", testOffsetDateTime);
        assertEquals(1, cstmt.executeUpdate());

        return 2;
    }

    return 1;
}
项目:jdk8u-jdk    文件:CommonCachedRowSetTests.java   
@DataProvider(name = "rowsetUsingDataTypes")
protected Object[][] rowsetUsingDataTypes() throws Exception {

    CachedRowSet rs = createDataTypesRowSet();
    return new Object[][]{
        {rs, JDBCType.INTEGER},
        {rs, JDBCType.CHAR},
        {rs, JDBCType.VARCHAR},
        {rs, JDBCType.BIGINT},
        {rs, JDBCType.BOOLEAN},
        {rs, JDBCType.SMALLINT},
        {rs, JDBCType.DOUBLE},
        {rs, JDBCType.DECIMAL},
        {rs, JDBCType.REAL},
        {rs, JDBCType.TINYINT},
        {rs, JDBCType.DATE},
        {rs, JDBCType.TIME},
        {rs, JDBCType.TIMESTAMP},
        {rs, JDBCType.VARBINARY},
        {rs, JDBCType.ARRAY},
        {rs, JDBCType.REF},
        {rs, JDBCType.FLOAT}
    };
}
项目:jdk8u-jdk    文件:CommonCachedRowSetTests.java   
private void compareRowSets(CachedRowSet crs, CachedRowSet crs1) throws Exception {

        int rows = crs.size();
        assertTrue(rows == crs1.size());

        ResultSetMetaData rsmd = crs.getMetaData();

        compareMetaData(rsmd, crs1.getMetaData());
        int cols = rsmd.getColumnCount();

        for (int row = 1; row <= rows; row++) {
            crs.absolute((row));
            crs1.absolute(row);
            for (int col = 1; col <= cols; col++) {
                compareColumnValue(JDBCType.valueOf(rsmd.getColumnType(col)),
                        crs, crs1, col);
            }
        }

    }
项目:openjdk-jdk10    文件:CommonCachedRowSetTests.java   
@DataProvider(name = "rowsetUsingDataTypes")
protected Object[][] rowsetUsingDataTypes() throws Exception {

    CachedRowSet rs = createDataTypesRowSet();
    return new Object[][]{
        {rs, JDBCType.INTEGER},
        {rs, JDBCType.CHAR},
        {rs, JDBCType.VARCHAR},
        {rs, JDBCType.BIGINT},
        {rs, JDBCType.BOOLEAN},
        {rs, JDBCType.SMALLINT},
        {rs, JDBCType.DOUBLE},
        {rs, JDBCType.DECIMAL},
        {rs, JDBCType.REAL},
        {rs, JDBCType.TINYINT},
        {rs, JDBCType.DATE},
        {rs, JDBCType.TIME},
        {rs, JDBCType.TIMESTAMP},
        {rs, JDBCType.VARBINARY},
        {rs, JDBCType.ARRAY},
        {rs, JDBCType.REF},
        {rs, JDBCType.FLOAT}
    };
}
项目:openjdk-jdk10    文件:CommonCachedRowSetTests.java   
private void compareRowSets(CachedRowSet crs, CachedRowSet crs1) throws Exception {

        int rows = crs.size();
        assertTrue(rows == crs1.size());

        ResultSetMetaData rsmd = crs.getMetaData();

        compareMetaData(rsmd, crs1.getMetaData());
        int cols = rsmd.getColumnCount();

        for (int row = 1; row <= rows; row++) {
            crs.absolute((row));
            crs1.absolute(row);
            for (int col = 1; col <= cols; col++) {
                compareColumnValue(JDBCType.valueOf(rsmd.getColumnType(col)),
                        crs, crs1, col);
            }
        }

    }
项目:openjdk9    文件:CommonCachedRowSetTests.java   
@DataProvider(name = "rowsetUsingDataTypes")
protected Object[][] rowsetUsingDataTypes() throws Exception {

    CachedRowSet rs = createDataTypesRowSet();
    return new Object[][]{
        {rs, JDBCType.INTEGER},
        {rs, JDBCType.CHAR},
        {rs, JDBCType.VARCHAR},
        {rs, JDBCType.BIGINT},
        {rs, JDBCType.BOOLEAN},
        {rs, JDBCType.SMALLINT},
        {rs, JDBCType.DOUBLE},
        {rs, JDBCType.DECIMAL},
        {rs, JDBCType.REAL},
        {rs, JDBCType.TINYINT},
        {rs, JDBCType.DATE},
        {rs, JDBCType.TIME},
        {rs, JDBCType.TIMESTAMP},
        {rs, JDBCType.VARBINARY},
        {rs, JDBCType.ARRAY},
        {rs, JDBCType.REF},
        {rs, JDBCType.FLOAT}
    };
}
项目:openjdk9    文件:CommonCachedRowSetTests.java   
private void compareRowSets(CachedRowSet crs, CachedRowSet crs1) throws Exception {

        int rows = crs.size();
        assertTrue(rows == crs1.size());

        ResultSetMetaData rsmd = crs.getMetaData();

        compareMetaData(rsmd, crs1.getMetaData());
        int cols = rsmd.getColumnCount();

        for (int row = 1; row <= rows; row++) {
            crs.absolute((row));
            crs1.absolute(row);
            for (int col = 1; col <= cols; col++) {
                compareColumnValue(JDBCType.valueOf(rsmd.getColumnType(col)),
                        crs, crs1, col);
            }
        }

    }
项目:dw-jdbc    文件:CallableStatementTest.java   
@Test
public void testNull() throws Exception {
    DataWorldCallableStatement statement = sampleSparqlCallableStatement();
    statement.setString("p", "not-null");
    statement.setBigDecimal("bigdecimal", null);
    statement.setDate("date", null);
    statement.setNString("nstring", null);
    statement.setNull("null", Types.VARCHAR);
    statement.setNull("null2", Types.VARCHAR, "IGNORED");
    statement.setObject("object", null);
    statement.setObject("object", null, Types.INTEGER);
    statement.setObject("object", null, JDBCType.INTEGER);
    statement.setString("string", null);
    statement.setTime("time", null);
    statement.setTimestamp("timestamp", null);
    statement.setURL("url", null);
    statement.execute();
    verify(lastBackendRequest).handle(Method.POST, sparql.urlPath(), null, Utils.TYPE_FORM_URLENCODED, String.join("&",
            Utils.queryParam("query", "select ?s ?p ?o where {?s ?p ?o.} limit 10"),
            Utils.queryParam("$p", "\"not-null\"")));
}
项目:dw-jdbc    文件:PreparedStatementTest.java   
@Test
public void testNull() throws Exception {
    DataWorldPreparedStatement statement = sql.prepareStatement(sql.connect(), "select * from Fielding where yearid in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
    int index = 0;
    statement.setString(++index, "not-null");
    statement.setBigDecimal(++index, null);
    statement.setDate(++index, null);
    statement.setNString(++index, null);
    statement.setNull(++index, Types.VARCHAR);
    statement.setNull(++index, Types.VARCHAR, "IGNORED");
    statement.setObject(++index, null);
    statement.setObject(++index, null, Types.INTEGER);
    statement.setObject(++index, null, JDBCType.INTEGER);
    statement.setString(++index, null);
    statement.setTime(++index, null);
    statement.setTimestamp(++index, null);
    statement.setURL(++index, null);
    statement.execute();
    verify(lastBackendRequest).handle(Method.POST, sql.urlPath(), null, Utils.TYPE_FORM_URLENCODED, String.join("&",
            Utils.queryParam("query", "select * from Fielding where yearid in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"),
            Utils.queryParam("$data_world_param0", "\"not-null\"")));
}
项目:jdk8u_jdk    文件:CommonCachedRowSetTests.java   
@DataProvider(name = "rowsetUsingDataTypes")
protected Object[][] rowsetUsingDataTypes() throws Exception {

    CachedRowSet rs = createDataTypesRowSet();
    return new Object[][]{
        {rs, JDBCType.INTEGER},
        {rs, JDBCType.CHAR},
        {rs, JDBCType.VARCHAR},
        {rs, JDBCType.BIGINT},
        {rs, JDBCType.BOOLEAN},
        {rs, JDBCType.SMALLINT},
        {rs, JDBCType.DOUBLE},
        {rs, JDBCType.DECIMAL},
        {rs, JDBCType.REAL},
        {rs, JDBCType.TINYINT},
        {rs, JDBCType.DATE},
        {rs, JDBCType.TIME},
        {rs, JDBCType.TIMESTAMP},
        {rs, JDBCType.VARBINARY},
        {rs, JDBCType.ARRAY},
        {rs, JDBCType.REF},
        {rs, JDBCType.FLOAT}
    };
}
项目:jdk8u_jdk    文件:CommonCachedRowSetTests.java   
private void compareRowSets(CachedRowSet crs, CachedRowSet crs1) throws Exception {

        int rows = crs.size();
        assertTrue(rows == crs1.size());

        ResultSetMetaData rsmd = crs.getMetaData();

        compareMetaData(rsmd, crs1.getMetaData());
        int cols = rsmd.getColumnCount();

        for (int row = 1; row <= rows; row++) {
            crs.absolute((row));
            crs1.absolute(row);
            for (int col = 1; col <= cols; col++) {
                compareColumnValue(JDBCType.valueOf(rsmd.getColumnType(col)),
                        crs, crs1, col);
            }
        }

    }
项目:lookaside_java-1.8.0-openjdk    文件:CommonCachedRowSetTests.java   
@DataProvider(name = "rowsetUsingDataTypes")
protected Object[][] rowsetUsingDataTypes() throws Exception {

    CachedRowSet rs = createDataTypesRowSet();
    return new Object[][]{
        {rs, JDBCType.INTEGER},
        {rs, JDBCType.CHAR},
        {rs, JDBCType.VARCHAR},
        {rs, JDBCType.BIGINT},
        {rs, JDBCType.BOOLEAN},
        {rs, JDBCType.SMALLINT},
        {rs, JDBCType.DOUBLE},
        {rs, JDBCType.DECIMAL},
        {rs, JDBCType.REAL},
        {rs, JDBCType.TINYINT},
        {rs, JDBCType.DATE},
        {rs, JDBCType.TIME},
        {rs, JDBCType.TIMESTAMP},
        {rs, JDBCType.VARBINARY},
        {rs, JDBCType.ARRAY},
        {rs, JDBCType.REF},
        {rs, JDBCType.FLOAT}
    };
}
项目:lookaside_java-1.8.0-openjdk    文件:CommonCachedRowSetTests.java   
private void compareRowSets(CachedRowSet crs, CachedRowSet crs1) throws Exception {

        int rows = crs.size();
        assertTrue(rows == crs1.size());

        ResultSetMetaData rsmd = crs.getMetaData();

        compareMetaData(rsmd, crs1.getMetaData());
        int cols = rsmd.getColumnCount();

        for (int row = 1; row <= rows; row++) {
            crs.absolute((row));
            crs1.absolute(row);
            for (int col = 1; col <= cols; col++) {
                compareColumnValue(JDBCType.valueOf(rsmd.getColumnType(col)),
                        crs, crs1, col);
            }
        }

    }
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testAliasWithIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);

    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testAliasWithoutIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    Map<SqlTable, String> tableAliases = new HashMap<>();
    tableAliases.put(table, "a");
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.of(tableAliases))
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("a.id = #{parameters.p1,jdbcType=INTEGER}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testNoAliasWithIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testNoAliasWithoutIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testTypeHandler() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Date> column = SqlColumn.withName("id")
            .withTable(table)
            .withJdbcType(JDBCType.DATE)
            .withTypeHandler("foo.Bar")
            .build();
    IsEqualTo<Date> condition = IsEqualTo.of(() -> new Date());
    SqlCriterion<Date> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=DATE,typeHandler=foo.Bar}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testTypeHandlerAndAlias() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER, "foo.Bar");
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    Map<SqlTable, String> tableAliases = new HashMap<>();
    tableAliases.put(table, "a");

    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.of(tableAliases))
            .build()
            .render();

    SoftAssertions.assertSoftly(softly -> {
        softly.assertThat(fp.fragment()).isEqualTo("a.id = #{parameters.p1,jdbcType=INTEGER,typeHandler=foo.Bar}");
        softly.assertThat(fp.parameters().size()).isEqualTo(1);
    });
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testAliasWithIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);

    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
    assertThat(fp.parameters().size()).isEqualTo(1);
    assertThat(fp.parameters().get("p1")).isEqualTo(3);
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testAliasWithoutIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);

    Map<SqlTable, String> tableAliases = new HashMap<>();
    tableAliases.put(table, "a");

    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.of(tableAliases))
            .build()
            .render();

    assertThat(fp.fragment()).isEqualTo("a.id = #{parameters.p1,jdbcType=INTEGER}");
    assertThat(fp.parameters().size()).isEqualTo(1);
    assertThat(fp.parameters().get("p1")).isEqualTo(3);
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testNoAliasWithIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
    assertThat(fp.parameters().size()).isEqualTo(1);
    assertThat(fp.parameters().get("p1")).isEqualTo(3);
}
项目:mybatis-dynamic-sql    文件:CriterionRendererTest.java   
@Test
public void testNoAliasWithoutIgnore() {
    SqlTable table = SqlTable.of("foo");
    SqlColumn<Integer> column = table.column("id", JDBCType.INTEGER);
    IsEqualTo<Integer> condition = IsEqualTo.of(() -> 3);
    SqlCriterion<Integer> criterion = SqlCriterion.withColumn(column)
            .withCondition(condition)
            .build();
    AtomicInteger sequence = new AtomicInteger(1);
    FragmentAndParameters fp = CriterionRenderer.withCriterion(criterion)
            .withSequence(sequence)
            .withRenderingStrategy(RenderingStrategy.MYBATIS3)
            .withTableAliasCalculator(TableAliasCalculator.empty())
            .build()
            .render();

    assertThat(fp.fragment()).isEqualTo("id = #{parameters.p1,jdbcType=INTEGER}");
    assertThat(fp.parameters().size()).isEqualTo(1);
    assertThat(fp.parameters().get("p1")).isEqualTo(3);
}
项目:peloton-test    文件:Ast.java   
public static ExpressionType fromJDBCType(JDBCType type) {
    // TODO research SQL types
    switch (type) {
        case DOUBLE:
        case FLOAT:
        case INTEGER:
        case NUMERIC:
        case DECIMAL:
            return NUMERIC;
        case VARCHAR:
        case LONGNVARCHAR:
            return VARCHAR;
        case BOOLEAN:
            return BOOLEAN;
        default:
            throw new IllegalArgumentException("Unimplemented");
    }
}
项目:Geometry-wars    文件:StatementsTest.java   
/**
 * Helper method for *SetObject* tests.
 * Insert data into the given PreparedStatement, or any of its subclasses, with the following structure:
 * 1 - `id` INT
 * 2 - `ot1` VARCHAR
 * 3 - `ot2` BLOB
 * 4 - `odt1` VARCHAR
 * 5 - `odt2` BLOB
 * 
 * @param pstmt
 * @return the row count of inserted records.
 * @throws Exception
 */
private int insertTestDataOffsetDTTypes(PreparedStatement pstmt) throws Exception {
    pstmt.setInt(1, 1);
    pstmt.setObject(2, testOffsetTime, JDBCType.VARCHAR);
    pstmt.setObject(3, testOffsetTime);
    pstmt.setObject(4, testOffsetDateTime, JDBCType.VARCHAR);
    pstmt.setObject(5, testOffsetDateTime);
    assertEquals(1, pstmt.executeUpdate());

    if (pstmt instanceof CallableStatement) {
        CallableStatement cstmt = (CallableStatement) pstmt;

        cstmt.setInt("id", 2);
        cstmt.setObject("ot1", testOffsetTime, JDBCType.VARCHAR);
        cstmt.setObject("ot2", testOffsetTime);
        cstmt.setObject("odt1", testOffsetDateTime, JDBCType.VARCHAR);
        cstmt.setObject("odt2", testOffsetDateTime);
        assertEquals(1, cstmt.executeUpdate());

        return 2;
    }

    return 1;
}
项目:tempto    文件:InsertLoader.java   
private String asStringValue(JDBCType jdbcType, Object o)
{
    if (o == null) {
        return "null";
    }
    switch (jdbcType) {
        case VARCHAR:
        case CHAR:
        case LONGNVARCHAR:
            return "'" + o.toString() + "'";
        case TINYINT:
        case SMALLINT:
        case INTEGER:
        case BIGINT:
        case FLOAT:
        case REAL:
        case DOUBLE:
        case DECIMAL:
            return o.toString();
        default:
            throw new IllegalArgumentException("Unsupported column type for INSERT: " + jdbcType);
    }
}
项目:tempto    文件:SqlResultDescriptor.java   
public List<Row> getRows(List<JDBCType> columnTypes)
{
    List<Row> values = newArrayList();
    String delimiter = getColumnDelimiter();

    QueryRowMapper rowMapper = new QueryRowMapper(columnTypes);
    Splitter valuesSplitter = Splitter.on(delimiter);
    if (isTrimValues()) {
        valuesSplitter = valuesSplitter.trimResults();
    }

    for (String line : sqlSectionParsingResult.getContentLines()) {
        List<String> rowValues = parseLine(line, delimiter, valuesSplitter);
        values.add(rowMapper.mapToRow(rowValues));
    }

    if (isJoinAllRowsToOne()) {
        checkState(columnTypes.size() == 1, "Expected single column result when 'joinAllRowsToOne' property is set, columnTypes: %s", columnTypes);
        String joinedRows = values.stream()
                .map(row -> String.valueOf(row.getValues().get(0)))
                .collect(joining("\n"));
        return ImmutableList.of(row(joinedRows));
    }

    return values;
}
项目:tempto    文件:SqlQueryConventionBasedTest.java   
private void dumpResults(QueryResult queryResult, Path path)
        throws IOException
{
    if (!Files.exists(path)) {
        Files.createDirectory(path);
    }
    checkState(Files.isDirectory(path), "%s have to point to the directory", path);
    String testFileName = queryFile.getFileName().toString();
    String resultsFileName = testFileName.substring(0, testFileName.lastIndexOf(".")) + ".result";

    Path resultFilePath = Paths.get(path.toString(), resultsFileName);
    try (BufferedWriter writer = newBufferedWriter(resultFilePath)) {
        String types = queryResult.getColumnTypes().stream().map(JDBCType::getName).collect(joining("|"));
        writer.write("-- delimiter: |; types: " + types);
        writer.newLine();
        for (List<Object> row : queryResult.rows()) {
            writer.write(new QueryAssert.Row(row).toString());
            writer.newLine();
        }
    }
}
项目:tempto    文件:QueryAssert.java   
public <T> QueryAssert column(int columnIndex, JDBCType type, ColumnValuesAssert<T> columnValuesAssert)
{
    if (fromSqlIndex(columnIndex) > actual.getColumnsCount()) {
        failWithMessage("Result contains only <%s> columns, extracting column <%s>",
                actual.getColumnsCount(), columnIndex);
    }

    JDBCType actualColumnType = actual.getColumnType(columnIndex);
    if (!type.equals(actualColumnType)) {
        failWithMessage("Expected <%s> column, to be type: <%s>, but was: <%s>", columnIndex, type, actualColumnType);
    }

    List<T> columnValues = actual.column(columnIndex);

    columnValuesAssert.assertColumnValues(Assertions.assertThat(columnValues));

    return this;
}
项目:presto    文件:ShardPredicate.java   
public static JDBCType jdbcType(Type type)
{
    if (type.equals(BooleanType.BOOLEAN)) {
        return JDBCType.BOOLEAN;
    }
    if (type.equals(BigintType.BIGINT) || type.equals(TimestampType.TIMESTAMP)) {
        return JDBCType.BIGINT;
    }
    if (type.equals(DoubleType.DOUBLE)) {
        return JDBCType.DOUBLE;
    }
    if (type.equals(DateType.DATE)) {
        return JDBCType.INTEGER;
    }
    if (type.equals(VarcharType.VARCHAR)) {
        return JDBCType.VARBINARY;
    }
    return null;
}
项目:presto    文件:DatabaseShardManager.java   
private static String sqlColumnType(Type type)
{
    JDBCType jdbcType = jdbcType(type);
    if (jdbcType != null) {
        switch (jdbcType) {
            case BOOLEAN:
                return "boolean";
            case BIGINT:
                return "bigint";
            case DOUBLE:
                return "double";
            case INTEGER:
                return "int";
            case VARBINARY:
                return format("varbinary(%s)", MAX_BINARY_INDEX_SIZE);
        }
    }
    return null;
}