Oracle数据库系列(七)、在java中如何将日期字符串保存到Oracle数据库中对应的Date类型字段中

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Oracle数据库系列(七)、在java中如何将日期字符串保存到Oracle数据库中对应的Date类型字段中,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前言

我们知道利用JDBC操作数据库时,插入SQL字段是个繁琐的过程,操作起来实际上并不是很复杂,但是在java中总有些字段类型与SQL中的字段类型不匹配,直接导致很烦!!!本文着重讲解如何将日期字符串插入到Orale中对应的Date类型字段中

注意

Oracle中的Date字段

ResultSet.getDate()

PreparedStatement.setDate()

都是java.sql.Date类型的,所以我们无论怎样转化,最终目标都是要将字符串或者java.util.Date类型转化成java.sql.Date类型

1、首先将字符串转换成java.util.Date

  • 用户实体类
    package com.ebuy.pojo;
    
    import java.io.Serializable;
    import java.util.Date;
    
    public class User implements Serializable {
        private String userId;
        private String userName;
        private String password;
        private String sex;
        /**
         * 出生日期
         */
        private Date birthday;
        private String identityCode;
        private String email;
        private String mobile;
        private String address;
        private int status = 0;
        private String code;
        private int role;
    }
    
  • 我们首先要将我们手动输入的出生日期字符串,转换成java.util.Date类型
    //1 首先使用简化日期格式(规定日期包括时分秒的显示形式)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	
    //输入的出生日期字符串的格式是 yyyy-MM-dd HH:mm:ss(要和SimpleDateFormat规范保持一致)
    String inputBirthday = "2000-02-03 12:12:24";
    	
    //此时已转换为java.util.Date类型
    Date string_To_util = sdf.parse(inputBirthday);
    System.out.println(string_To_util);	
    
  • 结果
    在这里插入图片描述
  • 将转换后的日期字符串存入User实体类对象中
    User user = new User();
    //将转换过的日期字符串存入User实体类对象中()
    user.setBirthday(string_To_util);
    

2、将java.util.Date 转为java.sql. Date

  • 这一步一般会用在执行SQL语句处
    //java.util.Date 转为java.sql. Date(getTime()获取日期的毫秒数)
    java.sql.Date sqlDate = new java.sql.Date(user.getBirthday().getTime());
    
    System.out.println("sqlDate= " + sqlDate);
    
  • 结果
    在这里插入图片描述

3、真实场景

  • 添加或注册用户的界面
    在这里插入图片描述
  • UserServlet接收表单参数(出生日期)
    在这里插入图片描述
  • 数据访问层实现类中(执行SQL语句处)
    在这里插入图片描述

    到这就成功将一个手动从前端页面输入的日期字符串保存到Oracle数据库中了。

4、如果觉得麻烦,还有一个简单粗暴的方法

  • Oracle内置的方法to_date

    可将字符串直接转化成java.sql.Date类型,而且转换过的日期可以直接进行比大小
    select to_date(‘2004-05-07 13:23:44’,‘yyyy-mm-dd hh24:mi:ss’) from dual

  • 直接将实体类中的出生日期字段设置为String类型
    	package com.ebuy.pojo;
    	
    	import java.io.Serializable;
    	import java.util.Date;
    
    	public class User implements Serializable {
    	    private String userId;
    	    private String userName;
    	    private String password;
    	    private String sex;
    	    /**
    	     * 出生日期(设置为String类型)
    	     */
    	    private String birthday;
    	    private String identityCode;
    	    private String email;
    	    private String mobile;
    	    private String address;
    	    private int status = 0;
    	    private String code;
    	    private int role;
    	}
    
  • UserServlet层直接接收前端表单页面的的eu_birthday参数即可,无需进行java.util.Date的转换
  • 在数据访问层接口实现类出利用to_date(String_value,format_value)直接将字符串转换成java.sql.Date类型(但是要保证前端输入的日期字符串格式个to_date()的规范格式一致)
    在这里插入图片描述

完事!!!

但是不建议使用!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189470.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!