从oracle读时间java,java 对oracle日期数据的处理

package com.util;

/*

*

create table student (name varchar2(10) not null PRimary key , enrolldate date not null);

insert into student values('mark',to_date('08-08-2013','dd-mm-yyyy'));

insert into student values('mark1',to_date('21-08-2003','DD-MM-YYYY'));

insert into student values('mark2','21-8月-2003');

*/

import java.sql.PreparedStatement;

import java.text.SimpleDateFormat;

import org.junit.Test;

public class Date {

/*

* 方法一、使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。

java.sql.Date不支持时间格式。切记不要使用new java.sql.Date(int year,int month,int date),

因为还要处理时间差问题。

*/

@Test

public void test1(){

try{

java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");

String sql="insert into student values(?,?)";

PreparedStatement pstmt=JDBCUtils.getConnection().prepareStatement(sql);

pstmt.setString(1, "小明");

pstmt.setDate(2, buydate);

int i=pstmt.executeUpdate();

if(i>0)

System.out.println("插入成功!");

}catch(Exception e){

e.printStackTrace();

}

}

/**

* 方法二、使用java.sql.Timestamp,同上不使用new Timestamp(....)

*/

@Test

public void test2(){

try{

java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");

String sql="insert into student values(?,?)";

PreparedStatement pstmt=JDBCUtils.getConnection().prepareStatement(sql);

pstmt.setString(1, "java");

pstmt.setTimestamp(2,buydate );

int i=pstmt.executeUpdate();

if(i>0)

System.out.println("插入成功!");

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

//方法三、使用oracle 的to_date内置函数

@Test

public void test3(){

try{

String buydate="2004-06-08 05:33:12";

String sql="insert into student values (?,to_date(?,'yyyy-mm-dd hh:mi:ss'))";

PreparedStatement pstmt =JDBCUtils.getConnection().prepareStatement(sql);

pstmt.setString(1, "dacca");

pstmt.setString(2, buydate);

int i=pstmt.executeUpdate();

if(i>0)

System.out.println("插入成功!");

}catch (Exception e) {

// TODO: handle exception

System.out.println("插入失败!");

e.printStackTrace();

}

}

/*

*  附:oracle日期格式参数 含义说明

d: 一周中的星期几

day: 天的名字,使用空格填充到9个字符

dd: 月中的第几天

ddd: 年中的第几天

dy: 天的简写名

iw: ISO标准的年中的第几周

iyyy: ISO标准的四位年份

yyyy: 四位年份

yyy,yy,y: 年份的最后三位,两位,一位

hh: 小时,按12小时计

hh24: 小时,按24小时计

mi: 分

ss: 秒

mm: 月

mon: 月份的简写

month: 月份的全名

w: 该月的第几个星期

ww: 年中的第几个星期

*/

/*

*  1. oracle默认的系统时间就是sysdate函数,储存的数据形如25-3-200510:55:33

2. java 中取时间的对象是java.util.Date。

3. oracle中对应的时间对象是java.util.Date,java.sql.Time,java.sql.Timestamp、它们都是是java.util.Date的子类。

4. oracle中与date操作关系最大的就是两个转换函数:to_date(),to_char()。to_date()一般用于写入日期到数据库时用到的函数。

to_char()一般用于从数据库读入日期时用到的函数。

*/

@Test

public void test4(){

java.util.Date a = new java.util.Date();

System.out.println(a);

//DATE 由日、月和年组成

java.sql.Date b = new java.sql.Date(a.getTime());

System.out.println(b);

//TIME 由小时、分钟和秒组成

java.sql.Time c = new java.sql.Time(a.getTime());

System.out.println(c);

//时间

java.sql.Timestamp d=new java.sql.Timestamp(a.getTime());

System.out.println(d);

}

}

JDBCUtil.java

package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils {     private static String jdbcurl="jdbc:oracle:thin:@127.0.0.1:1521:orcl";     private static String  driverClass="oracle.jdbc.driver.OracleDriver";     private static String username="scott";     private static String password="scott";     /**      * 获取数据库连接      * @return      */     public static Connection getConnection(){         try {                          Class.forName(driverClass);             return DriverManager.getConnection(jdbcurl,username,password);         } catch (Exception e) {             // TODO: handle exception             throw new RuntimeException(e);         }                        }     /**      *释放资源      * @param conn      * @param st      * @param rs      */     public static void close(Connection conn,Statement st,ResultSet rs){                  try {             if(rs!=null)                 rs.close();         } catch (SQLException e) {             throw new RuntimeException(e);         }finally{             try {                 if(st!=null)                     st.close();             } catch (SQLException e) {                 throw new RuntimeException(e);             }finally{                 try {                     if(conn!=null)                         conn.close();                 } catch (SQLException e) {                     throw new RuntimeException(e);                 }             }         }                                } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值