zoukankan      html  css  js  c++  java
  • 向oracle中插入date时,持久层sql怎么写???

    public class EmpDao {
    
        public void addEmp(Emp emp) throws SQLException {
                
            QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
            String sql = "INSERT INTO EMPS(ID,USERNAME,GENDER,SAL,HIREDATE) VALUES(?,?,?,?,?)";
            Object[] param = {emp.getId(),emp.getUsername(),emp.getGender(),emp.getSal(),new Timestamp(emp.getHiredate().getTime())};
            runner.update(sql, param);
            
        }
        
        public static void main(String[] args) throws SQLException{
            EmpDao dao = new EmpDao();
            Emp emp = new Emp();
            emp.setUsername("张三");
            emp.setGender("男");
            emp.setSal(100);
            emp.setHiredate(new Date());
            dao.addEmp(emp);
        }
        
    }

    以上是dao持久层的代码,我这里用的dbutils和c3p0连接池连接的数据库,遇到的问题就是无法往oracle中插入数据,原因是hiredate的数据类型是Date

    解决办法:用new Timestamp(emp.getHiredate().getTime())时间戳就能轻松插入到oracle不用to_date()转换。

    ****************************** 注意 *********************************

    时间戳导包时要导sql的包,我就是因为到错了包导致插入失败找了半天才发现。日期用utils包   

    import java.sql.Timestamp;
    import java.util.Date;

    oracle 数据库中用Date类型就行了,我试了试用timestamp 也可以插入,但是值不太对,想摸索自己试试,反正用Date没事!!

    create table emps(

      ....

      hiredate Date;

      ...

    )

  • 相关阅读:
    隐马尔可夫模型
    Win10家庭版安装Linux子系统
    python 里的常见包及学习链接
    perl 从命令行读取文件并打开
    Linux 压缩解压缩
    python 2.7.9 安装beautifulsoup4
    成绩排名
    urlretrieve下载图片--爬虫
    python实现人工智能之路--语音识别加语音合成
    django中间件解决跨域问题-No 'Access-Control-Allow-Origin'
  • 原文地址:https://www.cnblogs.com/zyh1994/p/5823351.html
Copyright © 2011-2022 走看看