package br.ufpr.c3sl.daoconcrete; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; import br.ufpr.c3sl.dao.HitDAO; import br.ufpr.c3sl.daoFactory.MysqlDAOFactory; import br.ufpr.c3sl.model.Hit; public class MysqlHitDAO implements HitDAO{ private static final String INSERT = "INSERT INTO hits " + "(exercise, learningObject, user_id, created_at, cell, answer, correctAnswer ) " + "VALUES (?, ?, ?, ?, ?, ?, ?)"; @Override public Hit insert(Hit hit) { Connection c = MysqlDAOFactory.createConnection(); PreparedStatement pstmt = null; if (hit.getCreatedAt() == null) hit.setCreatedAt(new Date().getTime()); try { pstmt = c.prepareStatement(INSERT); pstmt.setString(1, hit.getExercise()); pstmt.setString(2, hit.getLearningObject()); pstmt.setLong(3, hit.getUser().getId()); pstmt.setTimestamp(4, hit.getCreatedAtTime()); pstmt.setString(5, hit.getCell()); pstmt.setString(6, hit.getAnswer().replaceAll("ℓ", "l")); pstmt.setString(7, hit.getCorrectAnswer().replaceAll("ℓ", "l")); pstmt.executeUpdate(); ResultSet rset = pstmt.getGeneratedKeys(); rset.next(); Long idGenerated = rset.getLong(1); hit.setId(idGenerated); pstmt.close(); c.close(); return hit; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }