Код контроллера: @GetMapping ("/ show / {id}") public ResponseEntity findId (@PathVariable Student student) выдает исключение {Student showId = studentService.findId (student); вернуть новый ResponseEntity (showId, HttpStatus.OK); } нужен возвращаемый объект для получения идентификатора пути

Код репозитория:

  public Student findId(Student student) throws Exception {
    Connection connect = null;
    Statement st = null;
    ResultSet rec = null;
    PreparedStatement pre = null;
    List<Student> userlist = new ArrayList<Student>();
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        connect =  DriverManager.getConnection("jdbc:mysql://localhost/mydatabase" +"?user=root&password=root&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC");
        connect.setAutoCommit(false);

        st = connect.createStatement();

        String sql = "SELECT * FROM student WHERE studentid = ? ";

        pre = connect.prepareStatement(sql);
        pre.setLong(1, student.getId());
        pre.executeQuery();

    } catch (Exception e) {
        if (connect != null) {
            try {
                st.close();
                connect.rollback();
            } catch(SQLException e2) {
                e2.printStackTrace();
            }
        }
    } finally {
        if (st != null) {
            try {
                st.close();
                connect.setAutoCommit(true);
            } catch(SQLException e) {
                e.printStackTrace();
            }
        }
    }
    try {
        connect.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return student;
}
1
Thammaphon

1 ответ

ResultSet result = pre.executeQuery();

while (result.next()) {
   long id = resultSet.getLong("studentId");
   String name = resultSet.getString("name");
   // another fields
   return new Student(id, name);
}

А для контроллера, если нужно, только идентификатор (@PathVariable Long id) более легкий.

Student response = studentService.findById(id);
return ResponseEntity.ok(response);