JDBC学习记录——Oracle和mysql对于Date的用法差别

先看这一段代码

public static void main(String[] args) {
        //查询入职时间在XXX日期之后,并且不从事XXX职位工作的员工姓名、入职时间、职位。
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/mysqldb";
            String username = "root";
            String password = "root";
            Connection con=DriverManager.getConnection(url,username,password);
            
            Scanner sc =new Scanner(System.in);
            System.out.println("请输入时限");
            String limitdate = sc.nextLine();
            System.out.println("请输入不从事的工作");
            String nojob = sc.nextLine();
            
            String sql ="select ename,hiredate,job from emp where hiredate>? and job != ?";
            PreparedStatement ps = con.prepareStatement(sql);
            ps.setString(1, limitdate);
            ps.setString(2, nojob);
            
            ResultSet rs =ps.executeQuery();
            while(rs.next()) {
                String ename = rs.getString("ename");
                String hiredate = rs.getString("hiredate");
                String job = rs.getString("job");
                System.out.println("员工姓名:"+ename+",入职日期:"+hiredate+",职位:"+job);     
            }
            rs.close();
            ps.close();
            con.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }

摘取讨论片段:

            String sql="select  ename,hiredate,job from emp where hiredate>? and job<>?";
            PreparedStatement ps=con.prepareStatement(sql);

            Date dd=Date.valueOf(hiredate);
            
//          ps.setString(1, hiredate);
            ps.setDate(1, dd);
            ps.setString(2, job);

1.MySQL可以把表示日期的字符串转换成真正的日期
2.如果是Oracle,没法自动把String转换成Date
3.ps.setDate方法接收日期参数是java.sql.Date,不是java.util.Date
4.使用java.sql.Date的静态方法valueOf把表示日期的字符转换为真正日期

Oracle对于Date的用法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java.util.Date 就是在除了SQL语句的情况下面使用 java.sql.Date 是针对SQL语句使用...
    横竖撇捺啊阅读 3,547评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,807评论 0 4
  • 抽象,继承,封装,多态 下面将一一解释.抽象是将一类对象的共同特征总结出来构造类的过程.包括数据抽象和行为抽象两部...
    高珊珊aim阅读 4,483评论 0 0
  • 本文目的:掌握 Java 中日期和时间常用 API 的使用。参考:Jakob Jenkov的英文教程Java Da...
    czwbig阅读 4,826评论 0 4
  • 晚上,偶发感想,决定去附近的沔阳公园学跳广场舞。我其实挺喜欢宅在家里,只是怕在这个年纪遇到“对”的体形。 于是,麻...
    天蓝蓝_b865阅读 5,461评论 32 12

友情链接更多精彩内容