我想弄清楚如何查询 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();
}
慕雪6442864
相关分类