アプリケーションのデータ型と、データベースのデータ型の対応を以下に示します。
サーバのデータ型 | javaのデータ型 | java.sql.Typesで規定されるデータ型 |
---|---|---|
character | String | java.sql.Types.CHAR |
national character | String | java.sql.Types.NCHAR |
character varying | String | java.sql.Types.VARCHAR |
national character varying | String | java.sql.Types.NVARCHAR |
text | String | java.sql.Types.VARCHAR |
bytea | byte[] | java.sql.Types.BINARY |
smallint | short | java.sql.Types.SMALLINT |
integer | int | java.sql.Types.INTEGER |
bigint | long | java.sql.Types.BIGINT |
smallserial | short | java.sql.Types.SMALLINT |
serial | int | java.sql.Types.INTEGER |
bigserial | long | java.sql.Types.BIGINT |
real | float | java.sql.Types.REAL |
double precision | double | java.sql.Types.DOUBLE |
numeric | java.math.BigDecimal | java.sql.Types.NUMERIC |
decimal | java.math.BigDecimal | java.sql.Types.DECIMAL |
money | String | java.sql.Types.OTHER |
date | java.sql.Date | java.sql.Types.DATE |
time with time zone | java.sql.Time | java.sql.Types.TIME |
time without time zone | java.sql.Time | java.sql.Types.TIME |
timestamp without time zone | java.sql.Timestamp | java.sql.Types.TIMESTAMP |
timestamp with time zone | java.sql.Timestamp | java.sql.Types.TIMESTAMP |
interval | org.postgresql.util.PGInterval | java.sql.Types.OTHER |
boolean | boolean | java.sql.Types.BIT |
bit | boolean | java.sql.Types.BIT |
bit varying | org.postgresql.util.Pgobject | java.sql.Types.OTHER |
oid | long | java.sql.Types.BIGINT |
xml | java.sql.SQLXML | java.sql.Types.SQLXML |
array | java.sql.Array | java.sql.Types.ARRAY |
uuid | java.util.UUID | java.sql.Types.OTHER |
point | org.postgresql.geometric.Pgpoint | java.sql.Types.OTHER |
box | org.postgresql.geometric.Pgbox | java.sql.Types.OTHER |
lseg | org.postgresql.geometric.Pglseg | java.sql.Types.OTHER |
path | org.postgresql.geometric.Pgpath | java.sql.Types.OTHER |
polygon | org.postgresql.geometric.PGpolygon | java.sql.Types.OTHER |
circle | org.postgresql.geometric.PGcircle | java.sql.Types.OTHER |
json | org.postgresql.util.PGobject | java.sql.Types.OTHER |
ネットワークアドレス型(inet,cidr,macaddr) | org.postgresql.util.PGobject | java.sql.Types.OTHER |
テキスト検索に関する型(tsvector,tsquery) | org.postgresql.util.PGobject | java.sql.Types.OTHER |
列挙型 | org.postgresql.util.PGobject | java.sql.Types.OTHER |
複合型 | org.postgresql.util.PGobject | java.sql.Types.OTHER |
範囲型 | org.postgresql.util.PGobject | java.sql.Types.OTHER |
すべてのサーバのデータ型に対して、ResultSetオブジェクトのgetString()メソッドを使用することができますが、この方法は同じデータ型に対して常に同じフォーマットの文字列を返すことを保証しません。
サーバのデータ型に合わせたgetterメソッド(例:getInt(),getTimestamp())によって得たjavaのデータ型のオブジェクトのtoString()メソッドを使用することで、JDBCの仕様に準拠したフォーマットの文字列を得ることができます。