如何数据库设置时区为北京时间?怎么将java.util.Date的Date参数转换成sql。
。。
如何数据库设置时区为北京时间?怎么将java.util.Date的Date参数转换成sql中Date的时间格式?
数据库设置时区为北京时间
⾸先,引进在java代码中连接数据库的基本⽅法:
1. 引⼊jar⽂件.
2. 加载数据库驱动 (JavaSE项⽬中可以省略 , JavaWeb项⽬必须编写此步骤)
Class.forName("sql.jdbc.Driver");
3. 通过驱动管理器, 获取JDBC连接对象.
Connection conn = Connection("数据库连接地址URL","帐号","密码");
// 数据库连接地址格式: 主协议:⼦协议://ip地址:端⼝号/数据库名称
/
/ mysql的连接地址: jdbc:mysql://localhost:3306/java35
// oracle的连接地址: jdbc:oracle:thin:@localhost:1521:ORCL
4. 通过连接对象, 创建SQL执⾏对象 (SQL执⾏环境)
Statement state = ateStatement();
5. 通过SQL执⾏对象 ,执⾏SQL语句.
6. 释放资源,连接数据库所创建的端⼝都需要关闭
//根据需求,有时会创建ResultSet 参数,最后也要记得释放该资源。
state.close();
conn.close();
设置数据库的时区问题时,我们需要在数据库连接地址URL上添加或修改⼀下时区参数serverTimezone,下⾯引⼊⼀下我链接数据库的地址设置
oracle 时间转换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环境中使⽤的Date时间类通常是java.util.Date,⽽数据库中声明变量类型为Date时,对应的是ja
va.sql.Date,因此当在java代码中获取java.util.Date时间对象后,需要转化为java.sql.Date类才能放⼊数据库中
1. 创建两个类型的时间对象
//创建util包下的date对象
java.util.Date date=new java.util.Date();
2. 将java.util.Date的Date参数转换成sql中Date的时间格式
PreparedStatement ps; //预编译语句
//这⾥的Date是java.util.Date中的,得到的是⽇期(年-⽉-⽇)
ps.setDate(int parameterIndex, java.util.Time());
//这⾥的Time是java.util.Time中的,得到的是时间(时:分:秒)
ps.setTime(int parameterIndex, java.util.Time());
/
/这⾥的TimeStamp是java.util.TimeStamp中的,得到的是⽇期+时间(年-⽉-⽇时:分:秒) ps.setObject(int parameterIndex, java.util.Time())
注意:
setDate 得到的是⽇期(年-⽉-⽇),对应 java.util.Date 的jar包
setTime 得到的是时间(时:分:秒),对应 java.util.Time 的jar包
setObject 得到的是⽇期+时间(年-⽉-⽇ 时:分:秒),对应 java.util.TimeStamp 的jar包
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论