第10回 Java型とSQL型

Javaの型とSQLの型は別なのでマッピングが必要

個人的に重要そうなところだけをピックアップ

Java SQL
String VARCHAR/LONGVARCHAR
long BIGINT
int INTEGER
double DOUBLE
java.math.BigDecimal NUMERIC/DECIMAL
java.sql.Date DATE
java.sql.Time TIME
java.sql.TimeStamp TIMESTAMP

SQLデータ型のDATE,TIME,TIMESTAMPについて

DATE

基準日からの経過日数を基に日付をあらわすデータ型。

TIME

基準日からの経過分数を基に時刻をあらわすデータ型。

TIMESTAMP

行に対してINSERT, UPDATEするたびに自動的に更新されるデータ型。


個人的にはDATE型のみを使うだけで十分と思われる。
TIMESTAMPに相当することはアプリケーション側でやってしまう。

java.sql.Date, java.sql.Time, java.sql.TimeStamp

SQLのDATE型, TIME型を正確にあらわすJavaクラスがないので、
JDBCパッケージに、java.sql.Date, java.sql.Time, java.sql.TimeStamp
が存在する。これらは、java.util.Dateを継承している。


参考資料:

Enterprise Javaデベロッパーズガイド―Javaと分散オブジェクトが実現するデータベースアプリケーション開発 (DEVELOPER PRESS)

Enterprise Javaデベロッパーズガイド―Javaと分散オブジェクトが実現するデータベースアプリケーション開発 (DEVELOPER PRESS)