在java中将日期转换为mysql格式并将其传递给函数
我想根据日期筛选订单。 我的密码是在java中将日期转换为mysql格式并将其传递给函数,java,mysql,Java,Mysql,我想根据日期筛选订单。 我的密码是 if ( filterObject != null ) { if ( !AgileUtil.isEmpty( filterObject.getCustid() ) ) { query.append( "AND ORD.CUSTID = '" ).append( filterObject.getCustid() ).append( "' " ); } if ( !AgileUtil.
if ( filterObject != null ) {
if ( !AgileUtil.isEmpty( filterObject.getCustid() ) ) {
query.append( "AND ORD.CUSTID = '" ).append( filterObject.getCustid() ).append( "' " );
}
if ( !AgileUtil.isEmpty( filterObject.getPid() ) ) {
query.append( "AND ORD.OID IN ( SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.PID = '" )
.append( filterObject.getPid() )
.append( "' ) " );
}
if ( filterObject.getFromDate() != null ) {
//AppConstants.DATEFORMAT.format( obj.getCreated() );
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED > FROMDATE '" )
.append( filterObject.getFromDate() )
.append( "' " );
}
if ( filterObject.getToDate() != null ) {
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED < TODATE '" )
.append( filterObject.getToDate() )
.append( "' " );
}
if ( ( filterObject.getFromDate() != null ) && ( filterObject.getToDate() != null ) ) {
query.append( "AND ORD.OID IN(SELECT OD.OID FROM ORDERDETAIL OD WHERE ORD.OID = OD.OID AND OD.CREATED BETWEEN FROMDATE AND TODATE '" )
.append( filterObject.getFromDate() );
}
if ( filterObject.getAmount() != null ) {
query.append( "AND ORD.TOTAL = " ).append( filterObject.getAmount() );
}
}
现在我面临的主要问题是如何将2015年8月31日这样的日期转换为mysql格式0000-00-00,并将其传递给filterObject.getFromDate、filterObject.getToDate,以便将此日期与数据库中的表列“CREATED”进行比较。和java.sql.date,并让驱动程序处理它Google link:Dude。先用谷歌搜索“SQL注入攻击”,然后轻笑,然后用PreparedStatement找出如何做到这一点,它允许您直接使用Java日期对象,而不依赖于您所在的任何数据库。@BobKuhar谢谢。那个xkcd让我很开心。