データベースのタイムゾーンを北京時間に設定するにはどうすればよいですか? java.util.Date の Date パラメータを SQL の Date の時刻形式に変換するにはどうすればよいですか?
データベースはタイムゾーンを北京時間に設定します
まず、Java コードでデータベースに接続する基本的な方法を紹介します。
1. 引入jar文件.
2. 加载数据库驱动 (JavaSE项目中可以省略 , JavaWeb项目必须编写此步骤)
Class.forName("com.mysql.jdbc.Driver");
3. 通过驱动管理器, 获取JDBC连接对象.
Connection conn = DriverManager.getConnection("数据库连接地址URL","帐号","密码");
// 数据库连接地址格式: 主协议:子协议://ip地址:端口号/数据库名称
// mysql的连接地址: jdbc:mysql://localhost:3306/java35
// oracle的连接地址: jdbc:oracle:thin:@localhost:1521:ORCL
4. 通过连接对象, 创建SQL执行对象 (SQL执行环境)
Statement state = conn.createStatement();
5. 通过SQL执行对象 ,执行SQL语句.
state.execute(String sql语句);
6. 释放资源,连接数据库所创建的端口都需要关闭
//根据需求,有时会创建ResultSet 参数,最后也要记得释放该资源。
state.close();
conn.close();
データベースへの接続時にデータベース エラーの問題が発生した場合は、リンク https://blog.csdn.net/xiri_/article/details/108857758 の記事を参照してください。
データベースのタイム ゾーンを設定する場合、データベース接続アドレスの URL にタイム ゾーン パラメーターserverTimezone を追加または変更する必要があります。以下に、リンク データベースのアドレス設定を紹介します。
url=jdbc:mysql://localhost:3306/java?characterEncoding=utf8&serverTimezone=UTC
説明:
// データベース接続アドレス: jdbc:mysql://localhost:3306/java
// ? の後にデータベースを設定するためのパラメータが続き、異なるパラメータは & で接続されます
// CharacterEncoding=utf8 はエンコード方式を設定しますutf -8
//serverTimezone=UTC はデータベースのタイムゾーンを設定する関数です。UTC は世界時間です (北京時間は東八区時間です)。
データベース時間を北京時間に設定します
serverTimezone 時間パラメータを設定します。UTC を GMT%2B に置き換えるだけです。
url=jdbc:mysql://localhost:3306/java?characterEncoding=utf8&serverTimezone=GMT%2B
java.util.DateのDateパラメータをSQLのDateの時刻形式に変換します。
Java 環境で
-
2 種類の時間オブジェクトを作成する
//创建util包下的date对象 java.util.Date date=new java.util.Date();
-
java.util.DateのDateパラメータをSQLのDateの時刻形式に変換します。
PreparedStatement ps; //预编译语句 //这里的Date是java.util.Date中的,得到的是日期(年-月-日) ps.setDate(int parameterIndex, java.util.Date(date.getTime()); //这里的Time是java.util.Time中的,得到的是时间(时:分:秒) ps.setTime(int parameterIndex, java.util.Time(date.getTime()); //这里的TimeStamp是java.util.TimeStamp中的,得到的是日期+时间(年-月-日 时:分:秒) ps.setObject(int parameterIndex, java.util.TimeStamp(date.getTime())
知らせ:
setDate が取得するのは、java.util.Date の jar パッケージに対応する日付 (年-月-日) です。
setTime が取得するのは、java.util.Time の jar パッケージに対応する時刻 (時:分:秒) です。
setObjectが取得するのは日付+時刻(年-月-日:分:秒)で、java.util.TimeStampのjarパッケージに相当します。