Skip to content

Software-Technical-Training/spring-graphql-nba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring-graphql-nba

Basic spring graphql application using an in memory H2 database and spring jdbc

GraphQL setup

Under src/main/resources, create nba.graphqls file and add the schema for types and queries
Enable the graphiql web interface in application.properties
Create a basic @Controller class and use @QueryMapping to map the graph ql query

H2 db setup and enabling jdbc

Define schema.sql to create tables and data.sql to insert some values
Create a data source @Configuration class and define @Bean data source
Create entities, row mappers to map from db to java class and DAOs (@Repository) to fetch data from DB using @JdbcTemplate
Define h2 db properties in application.properties and disable jpa hibernate as we will use pure spring jdbc only for this project
Inject the DAO into the controller to get the data from DB when the graphql query is issued from the graphql web console
H2 Console http://localhost:8080/h2-console
Use jdbc:h2:mem:testdb as JDBC URL

Queries to execute

GraphQL browser : http://localhost:8080/graphiql?path=/graphql
query {
teams {
id
name
city
}
team(teamId:"7"){
id, name
}
}

query {
team(teamId:"1"){
name
coach
city
arena
owner
founded
players{
id
name
age
height
position
}
}
}

mutation {
createTeam(name: "Seattle Seahawks", coach: "Gary", city: "Seattle")
}

Constraints

A Player can belong to only one Team
A Player can have only one Position
A Team can have only 5 players

Stats

Team stats - Played, Won, Lost, PPG, Rebounds, Assists, Blocks, FG %, FT %
Player stats - Min, PTS, FG %, FT%, 3P %, ASS, STL, BLK

Actions

List all teams
List all players in a team
Create or Remove Team
Create or Remove Player
Add or remove Player from Team
List all stats for a Team , for a Player
List all players in Team with their stats

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages