2016-05-12 7 views
1

Как я могу нарисовать java.lang.String на java.sql.Date, чтобы получить следующее значение: '12/03/2016'?Java Cast String to Date

Я попытался это:

@Override 
public int insertNewApplication(StudenDetails sd) 
{ 
    String sql = "INSERT INTO student_details" 
      + "(applicant_name, applsex, " 
      + "designation, date_of_superannuation, " 
      + "ou_code, residential_address, " 
      + "phone_no, mobile_no,email_id,token_user_id,token_password, " 
      + "staff_status,office_type_code) VALUES (?, ?, ?,to(?,'DD/MM/YYYY'), ?, ?, ?, ?, ?, ?, ?,?,?)"; 

    return jdbcTemplate.update(sql, new Object[] { 
      tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),tpd.getDate_of_superannuation(),tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(), 
      tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code() 
      }); 

} 
+2

Пожалуйста, Более конкретно. В чем дело? Чего вы пытаетесь достичь? Измените вопрос соответствующим образом. –

ответ

0

К сожалению, есть не стандартный способ, который широко принят между РСУБДОМ на преобразование строк в даты. В Postgres, которые помечены, вы могли бы использовать to_date функцию:

to_date(?, 'DD/MM/YY') 

лучший подход, ИМХО, было бы сделать это преобразование в Java, что делает приложение более портативным:

private static final SimpleDateFormat FORMAT_CONVERTER = 

@Override 
public int insertNewApplication(StudenDetails sd) 
{ 
    String sql = "INSERT INTO student_details" 
      + "(applicant_name, applsex, " 
      + "designation, date_of_superannuation, " 
      + "ou_code, residential_address, " 
      + "phone_no, mobile_no,email_id,token_user_id,token_password, " 
      + "staff_status,office_type_code) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?)"; 
    Date date = FORMAT_CONVERTER.parse(tpd.getDate_of_superannuation()); 

    return jdbcTemplate.update(sql, new Object[] { 
      tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),date,tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(), 
      tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code() 
      }); 
}