java.sql.Time Scala Examples
The following examples show how to use java.sql.Time.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: RDBDataTypeConverter.scala From ohara with Apache License 2.0 | 5 votes |
package oharastream.ohara.connector.jdbc.datatype import java.sql.{Date, ResultSet, Time, Timestamp} import java.util.Optional import oharastream.ohara.client.configurator.InspectApi.RdbColumn import oharastream.ohara.connector.jdbc.util.DateTimeUtils trait RDBDataTypeConverter { def converterValue(resultSet: ResultSet, column: RdbColumn): Any = { val columnName = column.name val typeName = column.dataType.toUpperCase val dataType: DataTypeEnum = converterDataType(column) dataType match { case DataTypeEnum.INTEGER => java.lang.Integer.valueOf(resultSet.getInt(columnName)) case DataTypeEnum.LONG => java.lang.Long.valueOf(resultSet.getLong(columnName)) case DataTypeEnum.BOOLEAN => java.lang.Boolean.valueOf(resultSet.getBoolean(columnName)) case DataTypeEnum.FLOAT => java.lang.Float.valueOf(resultSet.getFloat(columnName)) case DataTypeEnum.DOUBLE => java.lang.Double.valueOf(resultSet.getDouble(columnName)) case DataTypeEnum.BIGDECIMAL => Optional.ofNullable(resultSet.getBigDecimal(columnName)).orElseGet(() => new java.math.BigDecimal(0L)) case DataTypeEnum.STRING => Optional.ofNullable(resultSet.getString(columnName)).orElseGet(() => "null") case DataTypeEnum.DATE => Optional.ofNullable(resultSet.getDate(columnName, DateTimeUtils.CALENDAR)).orElseGet(() => new Date(0)) case DataTypeEnum.TIME => Optional.ofNullable(resultSet.getTime(columnName, DateTimeUtils.CALENDAR)).orElseGet(() => new Time(0)) case DataTypeEnum.TIMESTAMP => Optional .ofNullable(resultSet.getTimestamp(columnName, DateTimeUtils.CALENDAR)) .orElseGet(() => new Timestamp(0)) case DataTypeEnum.BYTES => Optional.ofNullable(resultSet.getBytes(columnName)).orElseGet(() => Array()) case _ => throw new UnsupportedOperationException( s"JDBC Source Connector not support ${typeName} data type in ${columnName} column for ${dataBaseProductName} implement." ) } } protected[datatype] def dataBaseProductName: String protected[datatype] def converterDataType(column: RdbColumn): DataTypeEnum }
Example 2
Source File: TestResultSetDataConverter.scala From ohara with Apache License 2.0 | 4 votes |
package oharastream.ohara.connector.jdbc.source import java.sql.{ResultSet, Time, Timestamp} import oharastream.ohara.client.configurator.InspectApi.RdbColumn import oharastream.ohara.common.rule.OharaTest import oharastream.ohara.connector.jdbc.datatype.{MySQLDataTypeConverter, RDBDataTypeConverter} import oharastream.ohara.connector.jdbc.util.{ColumnInfo, DateTimeUtils} import org.junit.Test import org.mockito.Mockito import org.mockito.Mockito._ import org.scalatest.matchers.should.Matchers._ class TestResultSetDataConverter extends OharaTest { private[this] val VARCHAR: String = "VARCHAR" private[this] val TIMESTAMP: String = "TIMESTAMP" private[this] val INT: String = "INT" private[this] val DATE: String = "DATE" private[this] val TIME: String = "TIME" @Test def testConverterRecord(): Unit = { val resultSet: ResultSet = Mockito.mock(classOf[ResultSet]) when(resultSet.getTimestamp("column1", DateTimeUtils.CALENDAR)).thenReturn(new Timestamp(0L)) when(resultSet.getString("column2")).thenReturn("aaa") when(resultSet.getInt("column3")).thenReturn(10) val columnList = Seq( RdbColumn("column1", TIMESTAMP, true), RdbColumn("column2", VARCHAR, false), RdbColumn("column3", INT, false) ) val dataTypeConverter: RDBDataTypeConverter = new MySQLDataTypeConverter() val result: Seq[ColumnInfo[_]] = ResultSetDataConverter.converterRecord(dataTypeConverter, resultSet, columnList) result.head.columnName shouldBe "column1" result.head.columnType shouldBe TIMESTAMP result.head.value.toString shouldBe "1970-01-01 08:00:00.0" result(1).columnName shouldBe "column2" result(1).columnType shouldBe VARCHAR result(1).value shouldBe "aaa" result(2).columnName shouldBe "column3" result(2).columnType shouldBe INT result(2).value shouldBe 10 } @Test def testNullValue(): Unit = { val resultSet: ResultSet = Mockito.mock(classOf[ResultSet]) when(resultSet.getTimestamp("column1", DateTimeUtils.CALENDAR)).thenReturn(new Timestamp(0L)) when(resultSet.getString("column2")).thenReturn(null) when(resultSet.getDate("column3")).thenReturn(null) when(resultSet.getTime("column4")).thenReturn(null) val columnList = Seq( RdbColumn("column1", TIMESTAMP, true), RdbColumn("column2", VARCHAR, false), RdbColumn("column3", DATE, false), RdbColumn("column4", TIME, false) ) val dataTypeConverter: RDBDataTypeConverter = new MySQLDataTypeConverter() val result: Seq[ColumnInfo[_]] = ResultSetDataConverter.converterRecord(dataTypeConverter, resultSet, columnList) result(1).columnName shouldBe "column2" result(1).columnType shouldBe VARCHAR result(1).value shouldBe "null" result(2).columnName shouldBe "column3" result(2).columnType shouldBe DATE result(2).value.toString shouldBe "1970-01-01" result(3).columnName shouldBe "column4" result(3).columnType shouldBe TIME result(3).value.toString shouldBe new Time(0).toString } }