`
最王座
  • 浏览: 140195 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

通过JDBC往Oracle中插入timestamp类型数据

阅读更多

通过JDBC往Oracle中插入timestamp类型数据

表结构:

create table TEST(
  ID       INTEGER,
  BIRTHDAY TIMESTAMP
);

 

 使用JDBC将日期插入到TIMESTAMP类型字段:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class Test {
     
    static {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
 
    /**
     * 获得Connection
     * 
     * @return
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl", "root", "root");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
 
    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub
        PreparedStatement pst = null;
        Connection conn = getConnection();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String myDate = df.format(new Date()); //当前时间
        String sql = "insert into test(id,birthday) values('1',to_timestamp('" + myDate + "','yyyy-mm-dd hh24:mi:ss'))";
        pst = conn.prepareStatement(sql);
         
        pst.executeUpdate();
        // 省略IO流close
    }
 
}

 如上例子中是使用to_timestamp将字符型转成timestamp来达到插入timestamp数据的目的。但是当前的insert语句只使用于oracle,当环境变更为mysql时则不行(没有to_timestamp函数)。

为此我们做出如下修改:

package com.ssh.model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class Test {
     
    static {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
 
    /**
     * 获得Connection
     * 
     * @return
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl", "root", "root");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
 
    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub
        PreparedStatement pst = null;
        Connection conn = getConnection();
        String sql = "insert into test(id,birthday) values('1'," + new Timestamp(System.currentTimeMillis()) + ")";
        pst = conn.prepareStatement(sql);
         
        pst.executeUpdate();
        // 省略IO流close
    }
 
}

 这样做到了兼容。

 

分享到:
评论

相关推荐

    oracle数据类型和对应的JDBC类型.docx

    - `BOOLEAN`:在 Oracle 中没有直接对应的数据类型,但可以通过 `NUMBER(1)` 或 `CHAR(1)` 来模拟。 - `TINYINT`、`SMALLINT`、`INTEGER` 和 `BIGINT`:这些是 SQL 标准的整数类型,分别映射到 `java.sql.Types....

    在oracle中插入当前时间

    本文将详细介绍如何在Oracle数据库中插入当前时间,并通过Java编程语言实现这一功能。 #### Oracle 中插入当前时间的方法 在Oracle数据库中插入当前时间通常有两种方法:一种是使用SQL语句直接插入系统当前时间;...

    Oracle jdbc for 11g 最新版 驱动 ojdbc6.jar

    这一天终于到来,在11g中,引用oracle.jdbc.driver不再通过编译。  3.j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。  4.11gR1 Thin driver支持...

    Oracle jdbc for 11g 最新版 驱动 ojdbc6dms.jar

    这一天终于到来,在11g中,引用oracle.jdbc.driver不再通过编译。  3.j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。  4.11gR1 Thin driver...

    SQLSERVER到ORACLE的数据库迁移

    我们首先定义了两种数据库之间的数据类型映射规则,然后展示了如何在目标Oracle数据库中创建相应的表结构,并最后编写了一个完整的Java程序来实现数据的实际迁移。这种方式不仅适用于“中华人民共和国行政区划代码”...

    用Java实现SQL_Server到Oracle数据迁移

    - **数据转换**:根据SQL Server和Oracle之间的数据类型差异进行转换。例如,SQL Server的datetime类型可能需要转换为Oracle的timestamp或date类型。 - **数据加载**:将转换后的数据以批量插入的方式写入Oracle。...

    通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案

    直接查询(方式一)可能会遇到数据类型不兼容的问题,且性能相对较慢。相比之下,使用`openquery()`(方式二)通常更为稳定且速度接近于直接在Oracle中执行,例如: ```sql SELECT * FROM openquery(LINK2ORACLE,'...

    JDBC:数据库操作中的日期精度丢失解决办法

    4. 自定义转换:如果以上方法无效,可以考虑自定义转换逻辑,比如在插入或查询数据时,将Timestamp转换为字符串,保存时保留所有精度,读取时再转换回Timestamp。 在提供的`TimestampDemo.java`文件中,我们可以...

    SQL Server导入Oracle数据库

    然而,由于SQL Server和Oracle的数据类型可能不同,所以在导入Oracle前,你可能需要转换这些数据类型。例如,SQL Server的`datetime`可能需要转换为Oracle的`DATE`或`TIMESTAMP`。 3. **数据导入**: - 对于Oracle...

    oracle_sql帮助文档

    11. **数据类型**:Oracle支持的数据类型,如NUMBER,VARCHAR2,DATE,TIMESTAMP,BLOB等。 12. **触发器**:自动响应特定数据库事件的程序代码,用于业务规则的实施。 13. **游标**:在PL/SQL中处理单行或多行...

    使用jdbc创建和调用触发器实现增删改查

    通过结合使用JDBC和Oracle的触发器与存储过程,我们可以实现复杂的数据操作和业务逻辑,同时保持代码的整洁和模块化。在“MyProfile_11_8”文件中,可能是更详细的JDBC代码示例或者数据库配置信息。

    java实现oracle插入当前时间的方法

    在Java编程中,当需要将当前时间插入到Oracle数据库时,必须注意Java时间和Oracle数据库之间的时间类型匹配。这是因为Java中的日期时间类与Oracle数据库中对应的日期类型有所不同。本篇文章将详细解析如何正确地在...

    Struts+Oracle做的注册

    确保为每个字段选择合适的数据类型,例如`VARCHAR2`用于字符串,`DATE`或`TIMESTAMP`用于日期和时间。 2. **Struts配置**:在Struts的配置文件(通常为struts-config.xml)中,添加`RegisterUser` Action的配置,...

    jdbc连接程序实现不同数据库数据的迁移

    SqlServer和Oracle可能对某些数据类型有不同的表示,因此在迁移时,可能需要进行数据类型的转换。例如,SqlDateTime到Oracle的Timestamp,或varchar2到nvarchar。 通过以上步骤,我们可以实现基于JDBC的数据迁移。...

    留言板(jsp+oracle)

    在留言板应用中,我们需要编写JDBC代码来连接Oracle数据库,执行SQL语句(如INSERT、SELECT、UPDATE和DELETE)来实现数据的增删改查操作。 2. **Session管理**:为了确保用户安全登录和操作,应用需要使用session来...

    实训专题java--JSP+JDBC留言管理.

    JDBC是Java语言访问数据库的标准API,它可以用来连接各种类型的数据库,如MySQL、Oracle等。JDBC提供了连接、执行SQL语句、处理结果集等功能。在我们的留言管理系统中,JDBC将用于建立数据库连接,执行增删查改...

    jdbc课件——关于JDBC的基础知识

    【JDBC基础知识】 JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如连接数据库、...在实际开发中,熟练掌握JDBC能有效提升数据操作的效率和代码质量。

    Java_JDBC学习教程 由浅入深.doc

    #### 六、JDBC 中数据类型详解 **6.1 基本数据类型** - 包括整型、浮点型、字符串等。 - 如 `Integer`, `Float`, `String` 等。 **6.2 日期类型** - 包括 `Date` 和 `Timestamp` 类型。 - `Date` 只包含日期信息,...

    软件开发中日期在数据库的处理

    在Java中,使用JDBC添加数据时,可以创建一个`Expense`类,包含日期属性,并通过`java.sql.Date`获取当前时间: ```java Expense expense = new Expense(); expense.setNumber("123"); expense.setDate(new java....

Global site tag (gtag.js) - Google Analytics