Advertisement
Guest User

Untitled

a guest
Aug 10th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.08 KB | None | 0 0
  1. import java.sql.*;
  2. import java.util.Scanner;
  3.  
  4. /**
  5. Спроектировать базу «Квартиры». Каждая запись
  6. в базе содержит данные о квартире (район,
  7. адрес, площадь, кол. комнат, цена). Сделать
  8. возможность выборки квартир из списка по
  9. параметрам.
  10. */
  11. public class Main {
  12. static final String DB_CONNECTION = "jdbc:mysql://localhost:3306/mydb1";
  13. static final String DB_USER = "Angrim90";
  14. static final String DB_PASSWORD = "Blacksun6237226";
  15. static Connection conn;
  16.  
  17. public static void main(String[] args) {
  18.  
  19.  
  20. Scanner sc = new Scanner(System.in);
  21.  
  22. try {
  23. conn = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD);
  24. initialization();
  25. for (; ; ) {
  26. System.out.println("1: add apartment");
  27. System.out.println("2: delete apartment");
  28. System.out.println("3: view apartments");
  29. System.out.println("4: search to parameter");
  30. System.out.println(" ___________ ");
  31.  
  32. String s = sc.nextLine();
  33.  
  34. switch (s) {
  35. case "1":
  36. addApart(sc);
  37. break;
  38. case "2":
  39. delApart(sc);
  40. break;
  41. case "3":
  42. viewApart();
  43. break;
  44. case "4":
  45. System.out.println("Insert parameter, value in format \"param - value\"");
  46. try {
  47. String s1[] = sc.nextLine().split(" - ");
  48. System.out.println(s1[0] + s1[1]);
  49. searchToParam(s1[0], s1[1]);
  50. } catch (ArrayIndexOutOfBoundsException e) {
  51. System.out.println("Wrong input param :(\n");
  52. return;
  53. } finally {
  54. break;
  55. }
  56. default:
  57. System.out.println("Wrong input format :((\n try entering some value");
  58. break;
  59. }
  60. }
  61. } catch (SQLException e) {
  62.  
  63.  
  64. }
  65. }
  66. private static void addApart(Scanner sc) throws SQLException {
  67. System.out.print("Enter apartments area: ");
  68. String area = sc.nextLine();
  69. System.out.print("Enter apartments adress: ");
  70. String adress = sc.nextLine();
  71. System.out.print("Enter apartments squar: ");
  72. String squares = sc.nextLine();
  73. System.out.print("Enter apartments rooms: ");
  74. String rooms = sc.nextLine();
  75. int roomsCount = 0;
  76. double d = 0;
  77. System.out.print("Enter apartments price: ");
  78. String price = sc.nextLine();
  79. try {
  80. roomsCount = Integer.parseInt(rooms);
  81. d= Double.parseDouble(price);
  82. }
  83. catch (NumberFormatException e){
  84. System.out.println("Wrong entering format :(\n");
  85. return;
  86. }
  87. PreparedStatement ps = conn.prepareStatement("INSERT INTO Apartments (area, adress,squares,rooms,price) VALUES(?, ?,?,?,?)");
  88. try {
  89. ps.setString(1, area);
  90. ps.setString(2, adress);
  91. ps.setString(3, squares);
  92. ps.setInt(4, roomsCount);
  93. ps.setDouble(5, d);
  94. ps.executeUpdate();
  95. } finally {
  96. ps.close();
  97. }
  98. }
  99. private static void delApart(Scanner sc) throws SQLException {
  100. System.out.print("Enter apartments area: ");
  101. String area = sc.nextLine();
  102. PreparedStatement ps = conn.prepareStatement("DELETE FROM Apartments WHERE area = ?");
  103. try {
  104. ps.setString(1, area);
  105. ps.executeUpdate();
  106.  
  107. } finally {
  108. ps.close();
  109. }
  110. }
  111.  
  112. private static void viewApart() throws SQLException {
  113. PreparedStatement ps = conn.prepareStatement("SELECT * FROM Apartments");
  114.  
  115. try {
  116. ResultSet rs = ps.executeQuery();
  117. try {
  118. ResultSetMetaData md = rs.getMetaData();
  119. for (int i = 1; i <= md.getColumnCount(); i++) {
  120. System.out.print(md.getColumnName(i) + "\t\t");
  121. }
  122. System.out.println("____");
  123. while (rs.next()) {
  124. for (int i = 1; i <= md.getColumnCount(); i++) {
  125. System.out.print(rs.getString(i) + "\t\t ");
  126. }
  127. System.out.println("____");
  128. }
  129. } finally {
  130. rs.close();
  131. }
  132. } finally {
  133. ps.close();
  134. }
  135.  
  136. }
  137.  
  138. public static void searchToParam(String param, Object val) throws SQLException {
  139.  
  140. PreparedStatement ps = conn.prepareStatement("SELECT * FROM Apartments WHERE " + param + " = \""+ val+ "\" ;");
  141. ResultSet rs = ps.executeQuery();
  142. try {
  143.  
  144. ResultSetMetaData md = rs.getMetaData();
  145. for (int i = 1; i <= md.getColumnCount(); i++) {
  146. System.out.print(md.getColumnName(i) + "\t\t");
  147. }
  148. System.out.println("____");
  149. while (rs.next()) {
  150. for (int i = 1; i <= md.getColumnCount(); i++) {
  151. System.out.print(rs.getString(i) + "\t\t");
  152. }
  153. System.out.println("____");
  154. }
  155. } finally {
  156. rs.close();
  157. ps.close();
  158. }
  159.  
  160. }
  161.  
  162. private static void initialization() throws SQLException {
  163. Statement st = conn.createStatement();
  164.  
  165. try {
  166. st.execute("DROP TABLE IF EXISTS Apartments;");
  167.  
  168. st.execute("CREATE TABLE Apartments (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, area VARCHAR(20) NOT NULL, " +
  169. "adress VARCHAR(20) NOT NULL, squares VARCHAR(10) NOT NULL, rooms INT NOT NULL , price DOUBLE (12,2)NOT NULL) ");
  170.  
  171.  
  172. } finally {
  173. st.close();
  174. }
  175. }
  176.  
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement