Skip to content

completed #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Database-Workshop/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ repositories {
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
implementation 'org.postgresql:postgresql:42.7.5'
}

test {
Expand Down
115 changes: 105 additions & 10 deletions Database-Workshop/src/main/java/org/project/DatabaseManager.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package org.project;

import org.project.Models.Club;
import org.project.Models.Player;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.*;
import java.util.UUID;

public class DatabaseManager {
// todo: modify these constants to connect to database
private static final String JDBC_URL = "jdbc:postgresql://localhost:5432/workshop";
private static final String USERNAME = "postgres";
private static final String PASSWORD = "password";
private static final String PASSWORD = "D29011385m";

// a method to connect to database with credentials given
private static Connection connect() throws SQLException {
Expand All @@ -20,14 +18,111 @@ private static Connection connect() throws SQLException {

public static void createPlayer(Player player) throws SQLException {
Connection conn = connect();
// todo: fill the query to create a player
String query = "";
String query = "INSERT INTO player (id, name, club) VALUES (?, ?, ?)" ;

PreparedStatement ps = conn.prepareStatement(query);
ps.setObject(1,player.getId());
ps.setString(2,player.getFullName());
ps.setObject(3,player.getClubId());


ps.executeUpdate();
ps.close();
conn.close();
}

public static void createClub(Club club) throws SQLException {
Connection conn = connect();
String query = "INSERT INTO club (id, title, manager) VALUES (?, ?, ?)" ;

PreparedStatement ps = conn.prepareStatement(query);
ps.setObject(1,club.getId());
ps.setString(2,club.getTitle());
ps.setString(3, club.getManager());

ps.executeUpdate();
ps.close();
conn.close();
}

public static void updatePlayer(Player player, String name, UUID club) throws SQLException {
Connection conn = connect();
String query = "UPDATE player SET name = ?, club = ? WHERE id = ?";

PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1,name);
ps.setObject(2,club);
ps.setObject(3,player.getId());
ps.executeUpdate();
ps.close();
conn.close();

}

public static void updateClub(Club club,String title,String manager) throws SQLException {
Connection conn = connect();
String query = "UPDATE club SET title = ?, manager = ? WHERE id = ?";

PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1,title);
ps.setString(2,manager);
ps.setObject(3,club.getId());
ps.executeUpdate();
ps.close();
conn.close();
}

public static void selectPlayer(Player player) throws SQLException {
Connection conn = connect();
String query = "SELECT * FROM player WHERE id = ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setObject(1,player.getId());
ResultSet rs = ps.executeQuery();
rs.next();
UUID playerId = UUID.fromString(rs.getString(1));
String name = rs.getString(2);
UUID clubId = UUID.fromString(rs.getString(3));
String query2 = "SELECT * FROM club WHERE id = ?";
PreparedStatement ps2 = conn.prepareStatement(query2);
ps2.setObject(1,clubId);
ResultSet rs2 = ps2.executeQuery();
rs2.next();
String clubTitle = rs2.getString(2);

System.out.println(playerId + "-" + name + "-" + clubTitle);
}

public static void selectClub(Club club) throws SQLException {
Connection conn = connect();
String query = "SELECT * FROM club WHERE id = ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setObject(1,club.getId());
ResultSet rs = ps.executeQuery();
rs.next();
UUID clubId = UUID.fromString(rs.getString(1));
String name = rs.getString(2);
String manager = rs.getString(3);
System.out.println(clubId + "-" + name + "-" + manager);
}

public static void deletePlayer(Player player) throws SQLException {
Connection conn = connect();
String query = "DELETE FROM player WHERE id = ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setObject(1,player.getId());
ps.executeUpdate();
ps.close();
conn.close();
}

public static void deleteClub(Club club) throws SQLException {
Connection conn = connect();
String query = "DELETE FROM club WHERE id = ?";
PreparedStatement ps = conn.prepareStatement(query);
// todo: set values of the prepared statement
ps.setObject(1,club.getId());
ps.executeUpdate();
ps.close();
conn.close();
}

// todo: create methods to complete the task of workshop
}
48 changes: 46 additions & 2 deletions Database-Workshop/src/main/java/org/project/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
import org.project.Models.Club;
import org.project.Models.Player;

import javax.xml.crypto.Data;
import java.sql.SQLException;
import java.util.UUID;

public class Main {
public static void main(String[] args) {
public static void main(String[] args) {
// club instances
Club club1 = new Club(UUID.randomUUID(), "Real Madrid", "Carlo Ancelotti");
Club club2 = new Club(UUID.randomUUID(), "Liverpool", "Arne Slot");
Expand All @@ -15,7 +17,49 @@ public static void main(String[] args) {
Player player2 = new Player(UUID.randomUUID(), "Jude Bellingham", club1.getId());
Player player3 = new Player(UUID.randomUUID(), "Trent Alexander-Arnold", club2.getId());
Player player4 = new Player(UUID.randomUUID(), "Federico Valverde", club1.getId());
try {
DatabaseManager.createClub(club1);
DatabaseManager.createClub(club2);
DatabaseManager.createPlayer(player1);
DatabaseManager.createPlayer(player2);
DatabaseManager.createPlayer(player3);
DatabaseManager.createPlayer(player4);

DatabaseManager.selectClub(club1);
DatabaseManager.selectClub(club2);
DatabaseManager.selectPlayer(player1);
DatabaseManager.selectPlayer(player2);
DatabaseManager.selectPlayer(player3);
DatabaseManager.selectPlayer(player4);

System.out.println("---------------------------");

DatabaseManager.updateClub(club1, "Real Madrid", "Alonso");
DatabaseManager.updatePlayer(player3, player3.getFullName(), club1.getId());


DatabaseManager.selectClub(club1);
DatabaseManager.selectClub(club2);
DatabaseManager.selectPlayer(player1);
DatabaseManager.selectPlayer(player2);
DatabaseManager.selectPlayer(player3);
DatabaseManager.selectPlayer(player4);

System.out.println("---------------------------");


DatabaseManager.deletePlayer(player2);
DatabaseManager.deleteClub(club2);

DatabaseManager.selectClub(club1);
DatabaseManager.selectPlayer(player1);
DatabaseManager.selectPlayer(player3);
DatabaseManager.selectPlayer(player4);

System.out.println("---------------------------");
}catch (Exception e) {
System.out.println(e);
}

// todo: call methods to run queries
}
}