Java中PreparedStatement.setTimestamp丢失零点零分零秒问题,希望知道的能帮忙看看,多谢了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中PreparedStatement.setTimestamp丢失零点零分零秒问题,希望知道的能帮忙看看,多谢了相关的知识,希望对你有一定的参考价值。

PreparedStatement ps = null;
ps.setTimestamp(1, new java.sql.Timestamp(svo.getEffDate().getTime()));
ps.executeUpdate();
若svo中EffDe字段中,时分秒不是00时00分00秒 则时分秒能入库,数据库为oracle10g
若svo中EffDe字段中,时分秒是00时00分00秒 则时分秒丢失,只有年月日,谢谢大家!

参考技术A 不管有没有时分秒,最终存到数据库里的“时间”都是相同的,我觉得你没有必要在意这个问题。如果真的很在意,那就保存成字符型吧。 参考技术B 你可能设置的日期格式有问题 试一下这个

to_char(new_time(EffDe,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;

java中native的用法

  Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
  可以将native方法比作Java程序同C程序的接口,其实现步骤:
  1、在Java中声明native()方法,然后编译。
  2、用javah产生一个.h文件。
  3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件)。
  4、将第三步的.cpp文件编译成动态链接库文件。
  5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。

  JAVA的native方法适用的情况:
  1、为了使用底层的主机平台的某个特性,而这个特性不能通过JAVA API访问。
  2、为了访问一个老的系统或者使用一个已有的库,而这个系统或这个库不是用JAVA编写的。
  3、为了加快程序的性能,而将一段时间敏感的代码作为本地方法实现。
参考技术A 其实就是JNI。
native是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。追问

怎么在外部实现方法

本回答被提问者采纳

以上是关于Java中PreparedStatement.setTimestamp丢失零点零分零秒问题,希望知道的能帮忙看看,多谢了的主要内容,如果未能解决你的问题,请参考以下文章

java中native的用法

java中Color的用法!

java中重载有啥用

java中int 和 Integer 有啥区别

java 中getBounds啥作用

java中怎么取出数组中的数组