Advertisement
Guest User

Untitled

a guest
Nov 20th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.62 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package databaseassignment;
  7.  
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.sql.Statement;
  11. import java.util.ArrayList;
  12. import databaseassignment.Team;
  13.  
  14. public class DataAccessObjectImpl implements DataAccessObject {
  15. private static final boolean DEBUG = true;
  16. public DBConnector connector = null;
  17.  
  18. public DataAccessObjectImpl(){
  19. try {
  20. this.connector = new DBConnector();
  21. } catch (Exception ex) {
  22. if(DEBUG) ex.printStackTrace();
  23. System.out.println("Unable to connect to DB!");
  24. System.exit(0);
  25. }
  26. }
  27.  
  28. // User
  29. @Override
  30. public ArrayList<User> getUsers(){
  31. try {
  32. Statement statement = connector.getConnection().createStatement();
  33. ResultSet res = statement.executeQuery("SELECT * FROM `user`;");
  34. ArrayList<User> users = new ArrayList<>();
  35. while(res.next()){
  36. int id = res.getInt("user_id");
  37. String username = res.getString("username");
  38. String password = res.getString("password");
  39. boolean admin = res.getBoolean("admin");
  40. User user = new User(id, username, password, admin);
  41. users.add(user);
  42. }
  43. return users;
  44. } catch (SQLException ex) {
  45. if(DEBUG) ex.printStackTrace();
  46. System.out.println("Unable to retrieve data from DB!");
  47. System.exit(0);
  48. return null;
  49. }
  50. }
  51. @Override
  52. public User getUser(int id){
  53. try {
  54. Statement statement = connector.getConnection().createStatement();
  55. ResultSet res = statement.executeQuery("SELECT * FROM `user` WHERE `user_id` = "+id+";");
  56. User user = null;
  57. if(res.next()){
  58. String username = res.getString("username");
  59. String password = res.getString("password");
  60. boolean admin = res.getBoolean("admin");
  61. user = new User(id, username, password, admin);
  62. }
  63. return user;
  64. } catch (SQLException ex) {
  65. if(DEBUG) ex.printStackTrace();
  66. System.out.println("Unable to retrieve data from DB!");
  67. System.exit(0);
  68. return null;
  69. }
  70. }
  71. @Override
  72. public User getUser(String username){
  73. try {
  74. Statement statement = connector.getConnection().createStatement();
  75. ResultSet res = statement.executeQuery("SELECT * FROM `user` WHERE `username` = '"+username+"';");
  76. User user = null;
  77. if(res.next()){
  78. int id = res.getInt("user_id");
  79. String password = res.getString("password");
  80. boolean admin = res.getBoolean("admin");
  81. user = new User(id, username, password, admin);
  82. }
  83. return user;
  84. } catch (SQLException ex) {
  85. if(DEBUG) ex.printStackTrace();
  86. System.out.println("Unable to retrieve data from DB!");
  87. System.exit(0);
  88. return null;
  89. }
  90. }
  91.  
  92. // Team
  93. @Override
  94. public ArrayList<Team> getTeams(){
  95. try {
  96. Statement statement = connector.getConnection().createStatement();
  97. ResultSet res = statement.executeQuery("SELECT * FROM `team`;");
  98. ArrayList<Team> teams = new ArrayList<>();
  99. while(res.next()){
  100. int id = res.getInt("team_id");
  101. String teamname = res.getString("teamname");
  102. ArrayList<User> members = getTeamMembers(id);
  103. Team team = new Team(id, teamname, members);
  104. teams.add(team);
  105. }
  106. return teams;
  107. } catch (SQLException ex) {
  108. if(DEBUG) ex.printStackTrace();
  109. System.out.println("Unable to retrieve data from DB!");
  110. System.exit(0);
  111. return null;
  112. }
  113. }
  114. @Override
  115. public Team getTeam(int id){
  116. try {
  117. Statement statement = connector.getConnection().createStatement();
  118. ResultSet res = statement.executeQuery("SELECT * FROM `team` WHERE `team_id` = '"+id+"';");
  119. Team team = null;
  120. if(res.next()){
  121. String teamname = res.getString("teamname");
  122. ArrayList<User> members = getTeamMembers(id);
  123. team = new Team(id, teamname, members);
  124. }
  125. return team;
  126. } catch (SQLException ex) {
  127. if(DEBUG) ex.printStackTrace();
  128. System.out.println("Unable to retrieve data from DB!");
  129. System.exit(0);
  130. return null;
  131. }
  132. }
  133.  
  134. public Team getTeam(String teamname){
  135. try {
  136. Statement statement = connector.getConnection().createStatement();
  137. ResultSet res = statement.executeQuery("SELECT * FROM `team` WHERE `teamname` = '"+teamname+"';");
  138. Team team = null;
  139. if(res.next()){
  140. int id = res.getInt("team_id");
  141. ArrayList<User> members = getTeamMembers(id);
  142. team = new Team(id, teamname, members);
  143. }
  144. return team;
  145. } catch (SQLException ex) {
  146. if(DEBUG) ex.printStackTrace();
  147. System.out.println("Unable to retrieve data from DB!");
  148. System.exit(0);
  149. return null;
  150. }
  151. }
  152. @Override
  153. public ArrayList<User> getTeamMembers(int team_id){
  154. try {
  155. Statement statement = connector.getConnection().createStatement();
  156. ResultSet res = statement.executeQuery("SELECT * FROM `team_member` NATURAL JOIN `user` WHERE `team_id` = '"+team_id+"';");
  157. ArrayList<User> users = new ArrayList<>();
  158. while(res.next()){
  159. int id = res.getInt("user_id");
  160. String username = res.getString("username");
  161. String password = res.getString("password");
  162. boolean admin = res.getBoolean("admin");
  163. User user = new User(id, username, password, admin);
  164. users.add(user);
  165. }
  166. return users;
  167. } catch (SQLException ex) {
  168. if(DEBUG) ex.printStackTrace();
  169. System.out.println("Unable to retrieve data from DB!");
  170. System.exit(0);
  171. return null;
  172. }
  173. }
  174.  
  175.  
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement