Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 KB | None | 0 0
  1. package ua.kiev.prog;
  2.  
  3. import java.sql.*;
  4. import java.util.Scanner;
  5.  
  6. /**
  7. * Created by Zakusylo.p on 24.03.2017.
  8. */
  9. public class ApartmentMain {
  10. private static final String DB_CONNECTION = "jdbc:mysql://localhost:3306/dbapartment";
  11. private static final String DB_USER = "root";
  12. private static final String DB_PASSWORD = "03051993_Zakusylo";
  13.  
  14. private static Connection conn;
  15. public static void main(String[] args) {
  16. Scanner sc = new Scanner(System.in);
  17. try (Connection connection = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD)) {
  18. conn = connection;
  19.  
  20. while (true) {
  21. System.out.println("1: Delete load table of database and start new");
  22. System.out.println("2: Add new apartment");
  23. System.out.println("3: Delete apartment");
  24. System.out.println("4: Change price of apartment");
  25. System.out.println("5: View all apartments");
  26. System.out.println("6: View apartments by parameters");
  27. System.out.print("-> ");
  28.  
  29. String s = sc.nextLine();
  30. switch (s) {
  31. case "1":
  32. deleteOldTableAndCreateNew();
  33. break;
  34. case "2":
  35. addNewApartment(sc);
  36. break;
  37. case "3":
  38. deleteApartment(sc);
  39. break;
  40. case "4":
  41. changePriceOfApartment(sc);
  42. break;
  43. case "5":
  44. showDataBase();
  45. break;
  46. case "6":
  47. showDataBaseByParamets(sc);
  48. break;
  49. default:
  50. return;
  51. }
  52. }
  53. } catch (SQLException e) {
  54. e.printStackTrace();
  55. }
  56. }
  57.  
  58. private static void deleteOldTableAndCreateNew() {
  59. try (Statement st = conn.createStatement()) {
  60. st.execute("DROP TABLE IF EXISTS Apartments");
  61. st.execute("CREATE TABLE Apartments(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, area VARCHAR(128) NOT NULL, address VARCHAR(128) NOT NULL," +
  62. "square DOUBLE NOT NULL,rooms INT NOT NULL, price INT NOT NULL )");
  63. } catch (SQLException e) {
  64. e.printStackTrace();
  65. }
  66. }
  67.  
  68. private static void addNewApartment(Scanner sc) {
  69. System.out.print("1: Enter area: ");
  70. String area = sc.nextLine();
  71. System.out.print("2: Enter address: ");
  72. String address = sc.nextLine();
  73. System.out.print("3: Enter square (For ex. 55.55): ");
  74. double square = sc.nextDouble();
  75. System.out.print("4: Enter number of rooms:");
  76. int rooms = sc.nextInt();
  77. System.out.print("5: Enter price: ");
  78. int price = sc.nextInt();
  79.  
  80. try (PreparedStatement ps = conn.prepareStatement("INSERT INTO Apartments (area,address,square,rooms, price) " +
  81. "VALUES (?,?,?,?,?)")) {
  82. ps.setString(1, area);
  83. ps.setString(2, address);
  84. ps.setDouble(3, square);
  85. ps.setInt(4, rooms);
  86. ps.setInt(5, price);
  87. ps.executeUpdate();
  88. } catch (SQLException e) {
  89. e.printStackTrace();
  90. }
  91. System.out.println();
  92. }
  93.  
  94. private static void deleteApartment(Scanner sc) {
  95. System.out.print("1: Enter id of apartment: ");
  96. int id = sc.nextInt();
  97.  
  98. try (PreparedStatement ps = conn.prepareStatement("DELETE FROM Apartments WHERE id=?")) {
  99. ps.setInt(1, id);
  100. ps.executeUpdate();
  101. } catch (SQLException e) {
  102. e.printStackTrace();
  103. }
  104. System.out.println();
  105. }
  106.  
  107. private static void changePriceOfApartment(Scanner sc) {
  108. System.out.print("1: Enter id of apartment: ");
  109. int id = sc.nextInt();
  110. System.out.print("2: Enter new price: ");
  111. int price = sc.nextInt();
  112.  
  113. try (PreparedStatement ps = conn.prepareStatement("UPDATE Apartments SET price=? WHERE id=?")) {
  114. ps.setInt(1, price);
  115. ps.setInt(2, id);
  116. ps.executeUpdate();
  117. } catch (SQLException e) {
  118. e.printStackTrace();
  119. }
  120. System.out.println();
  121. }
  122.  
  123. private static void showDataBase() {
  124. try (PreparedStatement ps = conn.prepareStatement("SELECT * FROM Apartments")) {
  125.  
  126. try (ResultSet rs = ps.executeQuery()) {
  127. ResultSetMetaData rsmd = rs.getMetaData();
  128.  
  129. for (int i = 1; i <= rsmd.getColumnCount(); i++) {
  130. System.out.print(rsmd.getColumnName(i) + "\t\t");
  131. }
  132. System.out.println();
  133. System.out.println();
  134.  
  135. while (rs.next()){
  136. for (int i = 1; i <= rsmd.getColumnCount(); i++) {
  137. System.out.print("| " + rs.getString(i)+" ");
  138. }
  139. System.out.println();
  140.  
  141. }
  142.  
  143. }catch (SQLException e){
  144. e.printStackTrace();
  145. }
  146.  
  147. } catch (SQLException e) {
  148. e.printStackTrace();
  149. }
  150. System.out.println();
  151. }
  152.  
  153. private static void showDataBaseByParamets(Scanner sc) {
  154. System.out.print("Enter one parameter of searching or more parameters separated by commas: ");
  155. String parametrs = sc.nextLine();
  156.  
  157. String[] arr = parametrs.split(",");
  158.  
  159. try (PreparedStatement ps = conn.prepareStatement("SELECT * FROM Apartments")) {
  160.  
  161. try (ResultSet rs = ps.executeQuery()) {
  162. ResultSetMetaData rsmd = rs.getMetaData();
  163.  
  164. for (int i = 1; i <= rsmd.getColumnCount(); i++) {
  165. for (int j = 0; j < arr.length; j++) {
  166. if (rsmd.getColumnName(i).equals(arr[j])) {
  167. System.out.print(rsmd.getColumnName(i) + "\t\t\t");
  168. }
  169. }
  170. }
  171. System.out.println();
  172.  
  173. while (rs.next()){
  174. for (int i = 1; i <= rsmd.getColumnCount(); i++) {
  175. for (int j = 0; j < arr.length; j++) {
  176. if (rsmd.getColumnName(i).equals(arr[j])) {
  177. System.out.print("| " + rs.getString(i) + "\t\t");
  178. }
  179. }
  180. }
  181. System.out.println();
  182. }
  183. }
  184. } catch (SQLException e) {
  185. e.printStackTrace();
  186. }
  187. System.out.println();
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement