如何将date n java解析为oracle/sql查询?

如何将date n java解析为oracle/sql查询?,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我有一个类似的问题 String query = "Select * from Orders where ordername = ? and orderDate > SYSDATE - 2 "; public class CheckOrders extends MappingSqlQuery<Object>{ public PendingOrderExists() { super(dataSource, queryConfi

我有一个类似的问题

String query = "Select  * from Orders where ordername = ? and  orderDate > SYSDATE - 2 ";
    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
我将从UI或某个常量(“20-9-2016”)传递
**orderName**
lastDate

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
orderDate=SYSDATE-2-->我将发送lastDate,而不是“2”

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
对吗?SYSDATE oracle函数和常数前的“2”。现在“2”可以是用户输入

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
如何用java编写查询

String query = "Select  * from Orders where ordername = ? and  orderDate > SYSDATE - ? ";
    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
上述问题正确吗?如何编写查询

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
public类CheckOrders扩展了MappingSqlQuery{
公共未决案件{
超级(数据源,查询配置)
.getProperty(“查询”);
super.declareParameter(新的SqlParameter(“ORDERNAME”,Types.VARCHAR));
//orderdate?如何在此处声明参数
编译();
}
}
对于sysdate-? 这个参数设置为java.sql.Date类的对象,而不是java.util.Date类。 java.sql.Date继承java.util.Date。 java.sql.Date(长时间) 这里long是自1979年1月1日以来经过的毫秒数

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
GregorianCalendar gc=new GregorianCalendar(2000, 25, 2);
java.util.Date dt=gc.getTime()
long lg=dt.getTime()
java.sql.Date sqldt=new java.sql.Date(lg)
"

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
在preparedstatement实例的setDate()方法中传递sqldt对象

    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}
希望这能奏效

alkaramansari1@gmail.com

试试这个
String query=“从订单中选择*,其中ordername=?和orderDate=SYSDATE-to_date(?,'dd-m-yyyy')”您不能只使用orderDate=?并根据java大小计算参数?抱歉,我的查询看起来像“String query=”Select*from Orders,其中ordername=?和orderDate>SYSDATE-?“查询似乎是正确的。查询看起来是正确的。您是否对其进行了测试,并给您带来了问题?”?
    public class CheckOrders extends MappingSqlQuery<Object>{
        public PendingOrderExists() {
            super(dataSource, queryConfig
                    .getProperty("query"));
            super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR));
            //orderdate ? how to declare parameter here
            compile();
        }
}