/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Spring/src/main/java/org/example/AlbumsRepository.java
108 строк
4 KB
unknown
ClassWork 17.02
17 фев 2026, 09:59
17 фев 2026, 09:59
78ba545
Код
Авторство
О чём код?
package org.example; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.stereotype.Service; import java.util.List; @Service public class AlbumsRepository { private final NamedParameterJdbcTemplate jdbcTemplate; private final AlbumsMapper albumsMapper; private final PlaylistMapper playlistMapper; private final TrackMapper trackMapper; public AlbumsRepository(NamedParameterJdbcTemplate jdbcTemplate, AlbumsMapper albumsMapper, PlaylistMapper playlistMapper, TrackMapper trackMapper) { this.albumsMapper = albumsMapper; this.jdbcTemplate = jdbcTemplate; this.playlistMapper = playlistMapper; this.trackMapper = trackMapper; } public List<Album> getAlbums (int artistId) { var params = new MapSqlParameterSource(); params.addValue("artist_id",artistId); var query = """ select albumId,title,artistId from albums where artistid=:artist_id """; return jdbcTemplate.query(query, params, albumsMapper); } public List<Album> getAllAlbum (){ var query = """ SELECT albumId,title,artistId FROM albums """; return jdbcTemplate.query(query, albumsMapper); } public List<Playlist> getPlaylist (){ var query = """ SELECT PlaylistId,name FROM playlists """; return jdbcTemplate.query(query,playlistMapper); } public List<Track> getTracksByPlaylistId(int playlistId) { var params = new MapSqlParameterSource(); params.addValue("PlaylistId",playlistId); var query = """ SELECT tracks.Name,tracks.TrackId FROM tracks JOIN playlist_track ON tracks.TrackId = playlist_track.TrackId Where PlaylistId=:PlaylistId """; return jdbcTemplate.query(query,params,trackMapper); } public List<Track> getTracksByAlbumId(int albumId) { var params = new MapSqlParameterSource(); params.addValue("AlbumId",albumId); var query = """ SELECT TrackId,Name FROM tracks Where AlbumId=:AlbumId """; return jdbcTemplate.query(query,params,trackMapper); } public void getAddNewPlaylist(String name){ var params = new MapSqlParameterSource(); params.addValue("Name", name); var query = """ INSERT INTO playlists (Name) VALUES (:Name) """; jdbcTemplate.update(query,params); } public void getDeletePlaylist(int id_playlist){ var params = new MapSqlParameterSource(); params.addValue("PlaylistId", id_playlist); var query = """ DELETE FROM playlists WHERE PlaylistId=:PlaylistId """; jdbcTemplate.update(query,params); } public void addTrackInPlaylist (int id_track,int id_playlist){ var params = new MapSqlParameterSource(); params.addValue("PlaylistId",id_playlist); params.addValue("TrackId",id_track); var query = """ INSERT INTO playlist_track (PlaylistId,TrackId) VALUES (:PlaylistId,:TrackId) ON CONFLICT (PlaylistId,TrackId) DO NOTHING """; jdbcTemplate.update(query,params); } public void deleteTrackInPlaylist (int id_track,int id_playlist){ var params = new MapSqlParameterSource(); params.addValue("PlaylistId",id_playlist); params.addValue("TrackId",id_track); var query = """ DELETE FROM playlist_track WHERE PlaylistId=:PlaylistId and TrackId=:TrackId """; jdbcTemplate.update(query,params); } }