类DAO没有得到对象

时间:2018-03-15 19:38:07

标签: java web crud dao

当我尝试通过Servlet中的一些参数获取元素时,其值返回NULL。我该怎么办?

班级DAO:

public Premio getByDataLoteriaHorario(String date, int idLoteria, int idHorario) throws SQLException, ClassNotFoundException, ParseException {
    Connection connection = ConnectionFactory.getConnection();
    ResultSet rs;
    Premio premio = new Premio();
    String sqlString = "select * from Premio where dataPremio = ? AND idLoteria = ? AND idHorario = ?";
    DateFormat df = new SimpleDateFormat("YYYY/MM/DD");
    java.sql.Date data = new java.sql.Date(df.parse(date).getTime());

    PreparedStatement preparedStatement = (PreparedStatement) connection.prepareStatement(sqlString);
    preparedStatement.setDate(1, data);
    preparedStatement.setInt(2, idLoteria);
    preparedStatement.setInt(3, idHorario);

    rs = preparedStatement.executeQuery();
    while(rs.next()) {
        premio.setIdPremio(rs.getInt("idPremio"));
        premio.setIdLoteria(rs.getInt("idLoteria"));
        premio.setIdHorario(rs.getInt("idHorario"));
        premio.setIdGrupo(rs.getInt("idGrupo"));
        premio.setPremio(rs.getString("premio"));
        premio.setDataPremio(rs.getString("dataPremio"));   
    }
    preparedStatement.close();
    rs.close();

    return premio;
}

MySQL表:

CREATE TABLE Premio ( 
  idPremio INT NOT NULL AUTO_INCREMENT, 
  idLoteria INT, 
  idHorario INT, 
  idGrupo INT, 
  premio1 VARCHAR(4), 
  premio2 VARCHAR(4), 
  premio3 VARCHAR(4), 
  premio4 VARCHAR(4), 
  premio5 VARCHAR(4), 
  premioSoma VARCHAR(5), 
  premio7 VARCHAR(4), 
  dataPremio DATE, 
  FOREIGN KEY (idLoteria) REFERENCES Loteria(idLoteria), 
  FOREIGN KEY (idHorario) REFERENCES Horario(idHorario), 
  FOREIGN KEY (idGrupo) REFERENCES Bicho(idGrupo), 
  PRIMARY KEY (idPremio)
); 

2 个答案:

答案 0 :(得分:0)

我认为错误是当您调用数据库进行奖励时,以及您在rs.getString中发送它们的dataPremio但是我没有在表中看到它们我仍然关注答案

答案 1 :(得分:0)

我将所有日期类型更改为字符串,它的工作原理! ¯\ _(ツ)_ /¯