我想弄清楚如何查詢 mysql 數據庫中的特定歌曲。我的想法是通過 ID 查找歌曲,因此如果我傳遞 ID,一首歌曲應該出現在瀏覽器窗口中。public class Song {private int id = 0;private String title;private String artist;private String album;private int released;public Song() {}public Song(int id, String title, String artist, String album, int released) { this.id = id; this.title = title; this.artist = artist; this.album = album; this.released = released;}@Id@Column(name = "songID")@GeneratedValue(strategy = GenerationType.IDENTITY)public Integer getId() { return id;}SongWebService.java @GET @Path("/{id}") @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })public Response getSongById() { Object song = null; try { em.getTransaction().begin(); song = em.createQuery("SELECT s FROM Song s WHERE s.songID = :id", Song.class).getSingleResult(); em.getTransaction().commit(); } catch (NoResultException e) { Response.noContent().build(); } catch (Exception ex) { ex.printStackTrace(); em.getTransaction().rollback(); } finally { em.close(); } return Response.ok(song).build();}
1 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
創建一個查詢對象并設置參數值,然后獲取單行
TypedQuery<Song> query = em.createQuery("SELECT s FROM Song s WHERE s.songID = :id", Song.class);
query.setParameter(1, id); //not sure what id
Song song = query.getSingleResult();
添加回答
舉報
0/150
提交
取消