Help us understand the problem. What is going on with this article?

[MySQL][java]日時を受け取る

概要

MySQLに登録された日時をjavaで取得する方法、javaからMySQLへ日時を登録する方法を紹介する。
MySQLへ接続する方法はこちらを見て頂きたい。https://qiita.com/QiitaD/items/d605b07e849e3bec0722

MySQLに定義する列

日時をtimestamp方で定義する。列名は"date_time"、フォーマットは"yyyy-MM-dd HH:flag_mm:ss"である。

MySQLからjavaでの取得

    String mySql = "select * from table_name";//日時のあるデータを取得するSQL文
    ResultSet rs = stmt.executeQuery(mySql);  //SQL実行、データを取得
    while (rs.next()) {
        rs.getTimestamp("date_time");         //取得データから日時情報を取得
    }        

javaからMySQLへ日時を登録する

例として現在時刻を登録する。

    String mySql = "insert into table (date_time) values ('" + getNowDateTime(){ + "')";
    stmt.executeUpdate(mySql);
    /**
     * 現在日時をyyyy/MM/dd HH:mm:ss形式で取得する.<br>
     */
    public static String getNowDateTime(){
        final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        final Date date = new Date(System.currentTimeMillis());
        return df.format(date);
    }

現在時刻取得方法はこちらを参照した。https://qiita.com/zuccyi/items/d9c185588a5628837137

困ったところ

困ったというほどではないが、初心者の方に向けて注意点が2つある。
①SQLの実行文
selectでデータを取得するときはexecuteQueryだが、updateやinsert、deleteの時はexecuteUpdateである。

②シングルクォーテーション
忘れやすいが、今回のサンプルでは日時を'(シングルクォーテーション)で囲まなければならない。

上記2つは私が超初心者時代によく躓いていたので気を付けて頂きたい。

感想

本記事では日時の扱い方として一例を紹介したが、日時には方が様々なので他にも使い方がある。(DateやLocaleDateTimeなど)
型を変えると変換が面倒になったりするので、よく考えて使いたい。

参考URL

日付と時刻型
https://www.dbonline.jp/mysql/type/index4.html

timestampとdatetimeの違い
https://qiita.com/ykawakami/items/2449a24e3b82ff0cbab6

timestampの例外
https://ts0818.hatenablog.com/entry/2017/08/11/155011

QiitaD
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした