Olá, como faço para colocar na DAO um campo do tipo datetime como statement e como ocorre a consulta?
Estou com as DAOs em Java:
public void adiciona(ProjetoPesquisa projetoPesquisa) {
String sql = "insert into projeto_pesquisa (projeto, dataProjeto, descProjeto, "
+ "dataHoraEntrevista, valorRecrutamento, incentivo, "
+ "beneficios, enderecoEntrevista, convidado_id, idPesquisador, idEmpresa) "
+ "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try (PreparedStatement stmt = (PreparedStatement) connection.prepareStatement(sql)) {
stmt.setString(1, projetoPesquisa.getProjeto());
stmt.setDate(2, Date.valueOf(projetoPesquisa.getDataProjeto()));
stmt.setString(3, projetoPesquisa.getDescProjeto());
stmt.setObject(4, projetoPesquisa.getDataHoraEntrevista());
Porem aparece erro ao inserir pela Main:
om.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1B"H\xB2\x0C\x00\x00xpw\x09\x05\x00\x00\x07\xE4\x0C\x0C\x0D\xF3x' for column 'dataHoraEntrevista' at row 1
Na Main ele faz, correto em converter o tipo de Data no formato (yyyy-MM-dd hh:mm) e no banco de dados MySQL está com o tipo datetime.
E em consultas como se faz o “get” da mesma data?