JDBC和mysql及oracle中的Date,Time,Timestamp处理

JDBC和mysql及oracle中的Date,Time,Timestamp处理

1.MySQL的JDBC类型映射

mysql时间类型jdbc时间类型
DATEjava.sql.Date
DATETIMEjava.sql.Timestamp
TIMESTAMPjava.sql.Timestamp
TIMEjava.sql.Time

2.Oracle与JDBC之间的类型映射

oracle时间类型jdbc时间类型
DATEjava.sql.Date
TIMESTAMPjava.sql.Timestamp
TIMEjava.sql.Time

  JDBC读取的数据保存为java类型时候,应该定义为java.util.Date,这样可以保持原有的精度,尽量避免使用java.sql.Date,java.sql.Date会则造成时分秒丢失。

  mysql数据库,时间类型为DATETIME,jdbc插入一条记录写法示例:

 public int insert(Register register)
    {
        Timestamp createTime = null;
        Timestamp dueTime = null;
        Timestamp sendTime = null;
        Timestamp operateTime = null;
        if (register.getCreateTime() != null)
        {
            java.util.Date createdate = new java.util.Date(register.getCreateTime().getTime());
            createTime = new Timestamp(createdate.getTime());
        }
        if (register.getDueTime() != null)
        {
            java.util.Date dueDate = new java.util.Date(register.getDueTime().getTime());
            dueTime = new Timestamp(dueDate.getTime());
        }
        if (register.getSendTime() != null)
        {
            java.util.Date sendDate = new java.util.Date(register.getSendTime().getTime());
            sendTime = new Timestamp(sendDate.getTime());
        }
        if (register.getOperateTime() != null)
        {
            java.util.Date operateDate = new java.util.Date(register.getOperateTime().getTime());
            operateTime = new Timestamp(operateDate.getTime());
        }
        String sql = "insert into dataview_register_info(ID, NAME, EMAIL, COMPANY_NAME, INDUSTRY, INTENDED_USE, CREATE_TIME, URL, LICENSE_STATE, PRODUCT_NAME,VERSION, DUE_TIME,"
                + "LICENSE_TYPE, AUTHORIZED_MODULES, APPLY_AMOUNT, MACHINE_CODE,LICENSE_FILE,SEND_STATE,SEND_TIME,OPERATOR_ACCOUNT,OPERATE_TIME,SERVER_INFO,APPLY_SOURCE) "
                + "values('" + register.getId() + "', '" + register.getName() + "','" + register.getEmail() + "','"
                + register.getCompanyName() + "','" + register.getIndustry() + "', '" + register.getIntendedUse()
                + "','" + createTime + "','" + register.getUrl() + "','" + register.getLicenseState() + "','"
                + register.getProductName() + "','" + register.getVersion() + "','" + dueTime + "','"
                + register.getLicenseType() + "','" + register.getAuthorizedModules() + "','"
                + register.getApplyAmount() + "','" + register.getMachineCode() + "','" + register.getLicenseFile()
                + "','" + register.getSendState() + "','" + sendTime + "','" + register.getOperatorAccount() + "','"
                + operateTime + "','" + register.getServerInfo() + "','" + register.getApplySource() + "')";
        int state = 0;
        state = DBUtil.insert(sql);
        LOG.info(sql);
        return state;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值