精华内容
下载资源
问答
  • java向oracle中插入时间戳

    千次阅读 2017-06-28 22:24:34
    乍一看,感觉java中的应该有一个时间戳类(timestamp)。但是没有,因为java的date类已经够使用了。查看java.util.Date源码就会发现,Date对象已经精确到时间戳的精度了。...所以如何想向oracle中插入时间
    乍一看,感觉java中的应该有一个时间戳类(timestamp)。但是没有,因为java的date类已经够使用了。查看java.util.Date源码就会发现,Date对象已经精确到时间戳的精度了。
    
    Date的构造方法如下:
     public Date() {
            this(System.currentTimeMillis());
        }
    所以如何想向oracle中插入时间戳,只需要把ORACLE字段定义成Timestamp就行了。
    mybatis中的jdbcType设置为TIMESTAMP,如:
    #{lastTime,jdbcType=TIMESTAMP}
    展开全文
  • java向ORACLE插入日期时间

    千次阅读 2014-08-26 15:15:45
    public class Test{  public static void main (String args []){   java.util.Date a = new java.util.Date();  System.out.println(a);  
    public class Test{
            public static void main (String args []){              
                   java.util.Date a = new java.util.Date();
                    System.out.println(a);
                   java.sql.Date b = new java.sql.Date(a.getTime());
                    System.out.println(b);
                   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);
            }
    }
     
    Mon Apr 03 18:00:34 CST 2006
    2006-04-03
    18:00:34
    2006-04-03 18:00:34.388
     
    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()一般用于从数据库读入日期时用到的函数。
     
    DATE、TIME 和 TIMESTAMP:
    SQL 定义了三种与时间有关的数据类型:DATE 由日、月和年组成。TIME 由小时、分钟和秒组成。 TIMESTAMP 将 DATE 和 TIME 结合起来,并添加了纳秒域。
    标准 Java 类 java.util.Date 可提供日期和时间信息。但由于该类包含 DATE 和 TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。
     
    因此我们定义了 java.util.Date 的三种子类。它们是:
    1.有关 SQL DATE 信息的 java.sql.Date
    2.有关 SQL TIME 信息的 java.sql.Time
    3.有关 SQL TIMESTAMP 信息的 java.sql.Timestamp
    对于 java.sql.Time,java.util.Time 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 java.sql.Date,java.util.Date 基本类的年、月和日域被分别设置为 1970 年 1月 1 日。这是在 Java 新纪元中的“零”日期。java.sql.date中的日期可以和标准的SQL语句中含有日期的字段进行比较.java.sql.Timestamp 类通过添加纳秒域来扩展java.util.Date。
     
    oracle中两个转换函数:
    1.to_date() 作用将字符类型按一定格式转化为日期类型:
    具体用法:to_date(''2004-11-27'',''yyyy-mm-dd''),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间。
     
    2.to_char():将日期转按一定格式换成字符类型:
    具体用法:to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'')
     
    to_date()与24小时制表示法及mm分钟的显示:
    在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
    如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
    原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。 oracle默认的系统时间就是sysdate函数,储存的数据形如2005-3-2510:55:33,java 中取时间的对象是java.util.Date。
    select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual
     
    在java对oracle的操作中,对日期字段操作的例子:
    表 book 中有name varchar2(20)//书籍名称,buydate Date //购买日期两个字段。
    已经创建了数据库连接Connection conn;
     
    方法一、使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。java.sql.Date不支持时间格式。切记不要使用new java.sql.Date(int year,int month,int date),因为还要处理时间差问题。
    PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
    java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");
    pstmt.setString(1, "Java编程思想");
    pstmt.setDate(2,buydate );
    pstmt.execute();
     
    方法二、使用java.sql.Timestamp,同上不使用new Timestamp(....)
    PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
    java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");
    pstmt.setString(1, "Java编程思想");
    pstmt.setTimestamp(2,buydate );
    pstmt.execute();
     
    方法三、使用oracle 的to_date内置函数
    PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
    String buydate="2004-06-08 05:33:99";
    pstmt.setString(1, "Java编程思想");
    pstmt.setString(2,buydate );
    pstmt.execute();
     
     
    附: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:年中的第几个星期

    =====================
     
    展开全文
  • java向Oracle数据库中插入blob字段数据

    万次阅读 2017-03-20 19:31:19
    java不能直接想插入其他普通类型数据一样插入blob字段数据,因为blob相当于一个大文件块,里面有游标,需要初始化blob游标才能插入数据。所以我们要先插入一个空的blob数据,以初始化游标,然后再往这个blob字段中...

    java不能直接想插入其他普通类型数据一样插入blob字段数据,因为blob相当于一个大文件块,里面有游标,需要初始化blob游标才能插入数据。所以我们要先插入一个空的blob数据,以初始化游标,然后再往这个blob字段中写入数据,来实现插入blob数据的效果,代码如下:

    package controller;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.Blob;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBHelper {
    	private static Connection conn;                                        //用于建立数据库连接
    	private PreparedStatement pres;                                        //执行sql的preparedStatement
    	static{
    		try {
    			Class.forName("oracle.jdbc.OracleDriver");                     //加载驱动类
    			String url="jdbc:oracle:thin:@192.168.75.131:1521:orcl";     //连接数据库的url
    			String user="jerry";
    			String pwd="jerry";
    			
    			conn=DriverManager.getConnection(url,user,pwd);                //请求数据库连接
    		} catch (ClassNotFoundException | SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	//写入blob数据
    	public void writeBlob(){
    		try {
    			conn.setAutoCommit(false);                                     //关闭自动提交
    			String sql="insert into blobtest values(?,?,?)";               //插入语句
    			
    			pres=conn.prepareStatement(sql);
    			pres.setInt(1, 1);                          
    			pres.setString(2, "jerry");
    			pres.setBlob(3,oracle.sql.BLOB.getEmptyBLOB());                //先插入空的BLOB,获取游标
    			
    			pres.executeUpdate();
    			
    			sql="select photo from blobtest where id=?";
    			pres=conn.prepareStatement(sql);
    			pres.setInt(1, 1);                                             //找出ID为1的,也就是刚刚插入的
    			
    			ResultSet res=pres.executeQuery();
    			res.next();
    			Blob imageBlob=res.getBlob(1);                                 //得到该空的blob
    			
    			OutputStream os = imageBlob.setBinaryStream(0); 
                // 读取想要存储的图片文件  
                InputStream is = new FileInputStream("G:\\jerry.jpg");  
                // 依次读取流字节,并输出到已定义好的数据库字段中.  
                int i = 0;  
                while ((i = is.read()) != -1) {  
                    os.write(i);                                               //Blob的输入流,相当于输入到数据库中
                }  
                os.flush();  
                os.close();  
                conn.commit();  
                conn.setAutoCommit(true);// 恢复现场 
                
                if(res!=null)
                	res.close();
                if(pres!=null)
                	pres.close();
                
                System.out.println("插入成功!!!");
    		} catch (SQLException | IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    	
    	public void getImage(){
    		String sql="select photo from blobtest where id=?";
    		
    		try {
    			pres=conn.prepareStatement(sql);
    			pres.setInt(1, 1);
    			ResultSet res=pres.executeQuery();
    			
    			while(res.next()){
    				Blob image=res.getBlob(1);                                         //得到该blob
    				
    				InputStream is = image.getBinaryStream();                          //获得该blob的输出流
                    FileOutputStream fos = new FileOutputStream("E:\\outputImage.jpg");  
                    int i = 0;  
                    while ((i = is.read()) != -1) {  
                        fos.write(i);  
                    }  
                    fos.flush();  
                    fos.close();  
                    is.close();  
    			}
    			System.out.println("成功输出图片!!!");
    		} catch (SQLException | IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    


    展开全文
  • java向oracle数据库中插入当前时间

    万次阅读 2012-02-08 10:52:19
    public class Test{ public static void main (String args []){ ...java.util.Date a = new java.util.Date(); System.out.println(a); java.sql.Date b = new java.sql.Date(a.getTime()); System.out.println
    public class Test{
    public static void main (String args []){
    java.util.Date a = new java.util.Date();
    System.out.println(a);
    java.sql.Date b = new java.sql.Date(a.getTime());
    System.out.println(b);
    java.sql.Time c = new java.sql.Time(a.getTime());
    System.out.println(c);
    java.sql.Timestamp d=new java.sql.Timestamp(a.getTime());
    展开全文
  • java自带的批量操作,就可以很好的支持大量数据的处理。相比c#,简单很多。c#要使用oracle提供的ODP.NET,效率才很高,但是代码却很复杂。总之,在这方面,c#没得比。当然,这里的表是没加索引的,加了索引,效率会...
  • 首先创建序列create sequence SEQ_Logintable_Identityincrement by 1 --每次自增几start with 1 --从1开始nomaxvalue --不设置最大值nocycle --直接累加,不循环nocache; --不建缓冲区为test_user.login_user表创建...
  • Java连接Oracle

    千次阅读 2018-12-17 18:47:37
    Oracle12c 连接代码 导入jdbc14.jar,连接语句改成自己的数据库地址,以及账号密码。 package com.test.dao.impl; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;...
  • Java实现Oracle数据库备份

    千次阅读 2014-08-11 15:49:39
    Java实现Oracle数据库备份
  • Java实现Oracle数据库导入

    千次阅读 2014-08-11 16:24:49
    Java实现Oracle数据库导入
  • Java连接Oracle测试

    千次阅读 2015-01-30 13:23:36
    Myeclipse下Java连接Oracle测试 简介:本篇文章主要介绍在编程工具Myeclipse下测试已经安装好的Oracle数据库是否能正常连接。 首先,新建一个Web项目,在Test包中新建一个ConnectionTest类,然后在该类下写代码测试...
  • java连接Oracle

    万次阅读 2007-12-05 10:55:00
    以下步骤用于java连接oracle, 只是用了jdbc:oracle:thin的简单连接, 由于时间仓促, 写下以下简单的步骤 机器环境:Windows xp home+sp2Eclipse 3.3.1Java 1.6.2Oracle10.2.0 导入oracle连接数据库的驱动文件, 一般...
  • java连接Oracle数据库

    万次阅读 多人点赞 2018-10-26 11:33:57
    连接数据库有多种方式,对于初学者连接数据库,这里介绍两种方法及两种连接...oracle驱动包可以在Oracle安装位置找到,也可以自己去下载 路径就是 app\计算机用户名\product\11.2.0\dbhome_1\jdbc\lib mysql驱动包...
  • Java操作Oracle

    万次阅读 2015-11-22 15:09:46
    Java操作Oracle PS:之前写的关于Java操作SQLserver数据库的博客和数据库基础的博客http://blog.csdn.net/q547550831/article/details/49930537 http://blog.csdn.net/q547550831/article/details/49925137 ...
  • java操作oracle数据库

    千次阅读 2012-07-27 20:45:59
    最近看韩顺平老师的视频,记下java是如何操作oracle的。 环境:windows xp  eclipse 4.2  oracle 10.2.0 操作方式: 一.通过ODBC连接oracle 1.先配置ODBC数据源:   测试连接成功后: 2.打开eclipse,...
  • JAVA连接ORACLE数据库

    千次阅读 2018-11-05 09:35:00
    JAVA连接ORACLE数据库 当然别忘了ORACLE的数据库驱动程序 import java.sql.*; public class DBConn {  public static Connection getConnection()  { //Oracle数据库连接  String ClassforName = "oracle....
  • Java连接oracle数据库并进行测试

    万次阅读 2017-12-18 19:27:08
    oracle数据库作为老牌数据库,虽然现在的开发使用较少,但不免会使用到,所以这里讲解一下java连接oracle的过程(喜欢mysql的同学,也可以按这个链接进行java连接mysql的学习:... 测试准备:下载连接oracle数据库的...
  • Java备份Oracle数据库

    千次阅读 2010-06-20 20:51:00
    Java备份Oracle数据库  Java线程、Process、ProcessBuilder 2010 年 6 月 20 日 文章内容描述了使用Java执行外部Oracle导出命令备份数据库功能的示例,依据此例子进行修改制造一些bug,然后将会对Java外部命令...
  • JAVA连接ORACLE

    千次阅读 2008-11-09 21:19:00
    在Properties for 项目名>>>>>Java Build Path >>>> 在Libraries页把class12.jar文件添加进来; 在打开数据库之前必须现注册Oracle JDBC驱动程序,注册Oracle JDBC驱动程序有两种方法: 第一种:.Cla
  • Java连接Oracle数据库 并查询

    千次阅读 2017-04-26 16:56:28
    Java连接Oracle下载ODBC Jar包驱动,网上百度下载或者去官网下载,导入到Eclipse 项目里面建立连接public class DbConn { private static String driver = "oracle.jdbc.driver.OracleDriver"; private static ...
  • Java调用Oracle存储过程

    千次阅读 2015-11-17 22:18:42
    1、编写Oracle存储过程 2、编写数据库获取连接工具类 3、编写简单应用调用存储过程 实现: 1、Oracle存储过程: /*测试表*/ create table test( id varchar2(32), name varchar2(32) ); /*存储过程 ...
  • JavaOracle 数据类型对应关系

    千次阅读 2017-06-19 17:39:42
    Oracle扩展的Java类型   1.0标准的JDBC类型:     CHAR java.sql.Types.CHAR java.lang.String oracle.sql.CHAR VARCHAR2 j
  • java链接Oracle(JDBC)

    万次阅读 多人点赞 2019-05-20 13:25:17
    工具: eclipse jdk 1.8 oracle 11g ojdbc6.jar(数据库驱动包) JDBC的六大步骤: 这里我们就按照jdbc的这六大步骤执行下去: ...oracle URL: jdbc:oracle:thin:@localhost:1521:DataBaseName...
  • java连接oracle12c

    千次阅读 2016-03-17 22:27:31
    java连接oracle11g用的是ojdbc6.jar,但是连接oracle12要用ojdbc7.jar。 2.db.properties文件内容: jdbcUrl=jdbc:oracle:thin:@//localhost:1521/orcl username=C##J2EE password=pwd23 3.连接数据库的具体实现: ...
  • Java连接Oracle数据库的三种连接方式

    万次阅读 多人点赞 2016-12-27 21:01:57
    背景:这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学...今天在这里就写下 Java 连接 Oracle 数据库的三种连接方式。工具: Oracle Database 10g Express Edition cmd命
  • javaoracle考试认证(OCJP)之路

    万次阅读 多人点赞 2017-11-24 17:55:12
    最近几天准备了一下javaoracle认证考试(OCJP),在网上查找资料奈何国内基本没太多有用的信息,还是费了一番功夫. 为什么我要参加这个考试有朋友建议我考一下这个证书,所以我花了些时间上网查了相关的资料.虽然国内...
  • JavaOracle客户端简易连接程序

    千次阅读 2009-03-10 17:10:00
    JavaOracle客户端简易连接程序 Oracle.javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.PreparedStatement;public class Oracle { public st
  • JAVA连接oracle数据库

    万次阅读 2013-05-31 11:12:43
    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.naming.Context; impo
  • oracle的jdbc连接方式:oci和thin ... oci和thin是Oracle提供的两套Java访问Oracle数据库方式。  thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 492,320
精华内容 196,928
关键字:

java怎么向oracle

java 订阅