Advertisement
Guest User

Untitled

a guest
Apr 19th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.56 KB | None | 0 0
  1. import java.sql.*;
  2.  
  3. /**
  4. * Created by andrey on 30.03.17.
  5. */
  6. public class DBHelper {
  7. private static Connection connection;
  8. private static Statement statement;
  9. private static final String url = "jdbc:mysql://localhost:3306/lab4";
  10. private static final String name = "root";
  11. private static final String password = "2";
  12.  
  13. public DBHelper() throws SQLException {
  14. connection = DriverManager.getConnection(url, name, password);
  15. statement = connection.createStatement();
  16. }
  17.  
  18. private ResultSet executeQuery(String query) throws SQLException {
  19. return statement.executeQuery(query);
  20. }
  21.  
  22. public String selectAll(){
  23. String query = "SELECT * FROM car LEFT JOIN fuel ON car.FUEL_ID = fuel.FUEL_ID";
  24. StringBuffer result = new StringBuffer("| car_name | tank_volume | fuel_type | fuel_cost |\n" +
  25. " ---------------------------------------------------------------\n");
  26. try {
  27. ResultSet rs = executeQuery(query);
  28. while(rs.next()){
  29. String carName = rs.getString("car_name");
  30. double tankVolume = rs.getDouble("tank_volume");
  31. String fuelType = rs.getString("fuel_type");
  32. double fuelCost = rs.getDouble("fuel_cost");
  33. result.append("|");
  34. result.append(format(20, carName));
  35. result.append(format(15, String.valueOf(tankVolume)));
  36. result.append(format(13, fuelType));
  37. result.append(format(12, String.valueOf(fuelCost)));
  38. result.append("\n ---------------------------------------------------------------\n");
  39. }
  40. } catch (SQLException e) {
  41. e.printStackTrace();
  42. }
  43. System.out.println(result.toString());
  44. return " ";
  45. }
  46.  
  47. public String selectFuel(){
  48. StringBuffer result = new StringBuffer("| fuel_id | fuel_type | fuel_cost |\n" +
  49. " -------------------------------------- \n");
  50. String query = "SELECT * FROM fuel";
  51. try {
  52. ResultSet rs = statement.executeQuery(query);
  53. while(rs.next()){
  54. int fuelId = rs.getInt("fuel_id");
  55. String fuelType = rs.getString("fuel_type");
  56. double fuelCost = rs.getDouble("fuel_cost");
  57. result.append("|");
  58. result.append(format(11, String.valueOf(fuelId)));
  59. result.append(format(13, fuelType));
  60. result.append(format(12, String.valueOf(fuelCost)));
  61. result.append("\n -------------------------------------- \n");
  62. }
  63. } catch (SQLException e) {
  64. e.printStackTrace();
  65. }
  66. System.out.println(result.toString());
  67. return result.toString();
  68. }
  69.  
  70. public String selectCar(){
  71. StringBuffer result = new StringBuffer("| car_id | car_name | tank_volume | fuel_type |\n" +
  72. " ----------------------------------------------------------- \n");
  73. String query = "SELECT * FROM car INNER JOIN fuel ON car.fuel_id = fuel.fuel_id";
  74. try {
  75. ResultSet rs = statement.executeQuery(query);
  76. while(rs.next()){
  77. int carId = rs.getInt("car_id");
  78. String carName = rs.getString("car_name");
  79. double tankVolume = rs.getDouble("tank_volume");
  80. String fuelType = rs.getString("fuel_type");
  81. result.append("|");
  82. result.append(format(10, String.valueOf(carId)));
  83. result.append(format(20, carName));
  84. result.append(format(15, String.valueOf(tankVolume)));
  85. result.append(format(11, fuelType));
  86. result.append("\n -----------------------------------------------------------\n");
  87. }
  88. } catch (SQLException e) {
  89. e.printStackTrace();
  90. }
  91. System.out.println(result.toString());
  92. return result.toString();
  93. }
  94.  
  95. public boolean insertFuel(String fuelType, double fuelCost){
  96. String query = "INSERT INTO fuel (fuel_type, fuel_cost) VALUES (?, ?)";
  97. try {
  98. PreparedStatement ps = connection.prepareStatement(query);
  99. ps.setString(1, fuelType);
  100. ps.setDouble(2, fuelCost);
  101. return ps.execute();
  102. } catch (SQLException e) {
  103. System.out.println("Дублироввание уникальной записи");
  104. return false;
  105. }
  106. }
  107.  
  108. public boolean insertCar(String carName, double tankVolume, int fuelID){
  109. String query = "INSERT INTO car (car_name, tank_volume, fuel_id) VALUES (?, ?, ?)";
  110. try {
  111. PreparedStatement ps = connection.prepareStatement(query);
  112. ps.setString(1, carName);
  113. ps.setDouble(2, tankVolume);
  114. ps.setInt(3, fuelID);
  115. return ps.execute();
  116. } catch (SQLException e) {
  117. System.out.println("Дублироввание уникальной записи");
  118. return false;
  119. }
  120. }
  121.  
  122. public boolean deleteCar(int carID){
  123. try {
  124. PreparedStatement ps = connection.prepareStatement("DELETE FROM car WHERE car_id = ?;");
  125. ps.setInt(1, carID);
  126. ps.execute();
  127. return true;
  128. } catch (SQLException e) {
  129. System.out.println("Невозможно удалить запись");
  130. return false;
  131. }
  132. }
  133.  
  134. public boolean deleteFuel(int fuelID){
  135. try {
  136. PreparedStatement ps = connection.prepareStatement("DELETE FROM fuel WHERE fuel_id = ?;");
  137. ps.setInt(1, fuelID);
  138. ps.execute();
  139. return true;
  140. } catch (SQLException e) {
  141. e.printStackTrace();
  142. System.out.println("Невозможно удалить запись, с ней связаны другие записи");
  143. return false;
  144. }
  145. }
  146.  
  147. private String format(int length, String str){
  148. int delta = length - str.length();
  149. StringBuffer result = new StringBuffer();
  150. for(int i = 0; i < delta / 2; i++){
  151. result.append(" ");
  152. }
  153. result.append(str);
  154. for(int i = delta / 2 + str.length(); i < length; i++){
  155. result.append(" ");
  156. }
  157. result.append("|");
  158. return result.toString();
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement