Advertisement
Guest User

Untitled

a guest
Apr 21st, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.04 KB | None | 0 0
  1. import java.sql.*;
  2. import java.util.Scanner;
  3.  
  4. public class MyMain {
  5. static final String DB_CONNECTION = "jdbc:mysql://localhost:3306/mydb";
  6. static final String DB_USER = "root";
  7. static final String DB_PASSWORD = "Tochilka1";
  8.  
  9. static Connection conn;
  10.  
  11. public static void main(String[] args) {
  12. Scanner sc = new Scanner(System.in);
  13. try {
  14. try {
  15. conn = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD);
  16. initDB();
  17.  
  18. while((true)){
  19. System.out.println("1: add flat");
  20. System.out.println("2: view district's catalog");
  21. System.out.println("3: select flats by district");
  22. System.out.println("4: select flats by district & price");
  23. System.out.println("5: view all flats");
  24. System.out.println("6: test");
  25. String s = sc.nextLine();
  26.  
  27. switch(s) {
  28. case "1" :
  29. addFlat(sc);
  30. break;
  31. case "2" :
  32. loadCatalog();
  33. break;
  34. case "3" :
  35. selectD(sc);
  36. break;
  37. case "4" :
  38. selectDandP(sc);
  39. break;
  40. case "5" :
  41. viewFlats();
  42. break;
  43. case "6":
  44. test();
  45. break;
  46. default:
  47. return;
  48. }
  49. System.out.println();
  50. }
  51.  
  52. } finally {
  53. sc.close();
  54. if (conn != null) conn.close();
  55. }
  56. } catch (SQLException e)
  57. {
  58. e.printStackTrace();
  59. return;
  60. }
  61.  
  62.  
  63. }
  64.  
  65. private static void initDB() throws SQLException {
  66. Statement st = conn.createStatement();
  67. try {
  68. st.execute("Drop table if EXISTS Flats");
  69. st.execute("CREATE TABLE Flats (idFlat INT NOT NULL AUTO_INCREMENT PRIMARY KEY, idDistrict INT NOT NULL, addresses VARCHAR(45) NOT NULL, area DECIMAL, rooms INT, price DECIMAL NOT NULL)");
  70. }
  71. finally {
  72. st.close();
  73. }
  74. }
  75.  
  76. private static void loadCatalog() throws SQLException{
  77. System.out.println("District's catalog :\n1: Schevchenko district\n2: Solomenskiy\n3: Svyatoshinskiy\n4: Obolonskiy\n5: Pechersk");
  78. }
  79.  
  80. private static void selectD(Scanner sc) throws SQLException{
  81. System.out.println("Choose district, you want to look:");
  82. String sdist = sc.nextLine();
  83. Integer dist = Integer.parseInt(sdist);
  84.  
  85. StringBuilder sb = new StringBuilder();
  86. sb.append("Select * From Flats Where idDistrict = ");
  87. sb.append(dist);
  88. viewFlats(sb.toString());
  89. }
  90.  
  91. private static void selectDandP(Scanner sc) throws SQLException{
  92. System.out.println("Choose district, you want to look:");
  93. String sdist = sc.nextLine();
  94. Integer dist = Integer.parseInt(sdist);
  95.  
  96. System.out.println("Enter price min:");
  97. String smin = sc.nextLine();
  98. Double pmin = Double.parseDouble(smin);
  99.  
  100. System.out.println("and price max:");
  101. String smax = sc.nextLine();
  102. Double pmax = Double.parseDouble(smax);
  103.  
  104. StringBuilder sb = new StringBuilder();
  105. sb.append("Select * From Flats Where idDistrict = ");
  106. sb.append(dist);
  107. sb.append(" and price BETWEEN ").append(pmin).append(" and ").append(pmax);
  108.  
  109. viewFlats(sb.toString());
  110. }
  111.  
  112. private static void test() throws SQLException{
  113. PreparedStatement ps = conn.prepareStatement("INSERT INTO Flats (idDistrict, addresses, area, rooms, price) VALUES (?, ?, ?, ?, ?)");
  114. try {
  115. ps.setInt(1, 4);
  116. ps.setString(2, "Kopernika");
  117. ps.setDouble(3, 50);
  118. ps.setInt(4, 3);
  119. ps.setDouble(5, 500);
  120. ps.executeUpdate();
  121. }
  122. finally {
  123. ps.close();
  124. }
  125. }
  126.  
  127. private static void addFlat(Scanner sc) throws SQLException{
  128. loadCatalog();
  129. System.out.println("Enter district:");
  130. String sidDistrict = sc.nextLine();
  131. int idDistrict = Integer.parseInt(sidDistrict);
  132.  
  133. System.out.println("Enter flat's address, please:");
  134. String address = sc.nextLine();
  135.  
  136. System.out.println("Enter flat's area:");
  137. String sarea = sc.nextLine();
  138. double area = Double.parseDouble(sarea);
  139.  
  140. System.out.println("Enter number of rooms:");
  141. String sRooms = sc.nextLine();
  142. int rooms = Integer.parseInt(sRooms);
  143.  
  144. System.out.println("Enter price ($):");
  145. String sPrice = sc.nextLine();
  146. double price = Double.parseDouble(sPrice);
  147.  
  148. PreparedStatement ps = conn.prepareStatement("INSERT INTO Flats (idDistrict, addresses, area, rooms, price) VALUES (?, ?, ?, ?, ?)");
  149. try {
  150. ps.setInt(1, idDistrict);
  151. ps.setString(2, address);
  152. ps.setDouble(3, area);
  153. ps.setInt(4, rooms);
  154. ps.setDouble(5, price);
  155. ps.executeUpdate();
  156. }
  157. finally {
  158. ps.close();
  159. }
  160. }
  161.  
  162. private static void viewFlats(String sql ) throws SQLException{
  163. PreparedStatement ps = conn.prepareStatement(sql);
  164. try {
  165. ResultSet rs = ps.executeQuery();
  166. try {
  167. ResultSetMetaData md = rs.getMetaData();
  168. for (int i = 1; i <= md.getColumnCount(); i++)
  169. System.out.print(md.getColumnName(i) + "\t\t");
  170. System.out.println();
  171.  
  172. while(rs.next()){
  173. for(int i=1; i<= md.getColumnCount(); i++)
  174. System.out.print(rs.getString(i) + "\t\t\t");
  175. System.out.println();
  176. }
  177. System.out.println();
  178. }
  179. finally {
  180. rs.close();
  181. }
  182. }
  183. finally {
  184. ps.close();
  185. }
  186. }
  187.  
  188.  
  189. private static void viewFlats() throws SQLException{
  190. PreparedStatement ps = conn.prepareStatement("SELECT * FROM Flats");
  191. try {
  192. ResultSet rs = ps.executeQuery();
  193. try {
  194. ResultSetMetaData md = rs.getMetaData();
  195. for (int i = 1; i <= md.getColumnCount(); i++)
  196. System.out.print(md.getColumnName(i) + "\t\t");
  197. System.out.println();
  198.  
  199. while(rs.next()){
  200. for(int i=1; i<= md.getColumnCount(); i++)
  201. System.out.print(rs.getString(i) + "\t\t\t");
  202. System.out.println();
  203. }
  204. System.out.println();
  205. }
  206. finally {
  207. rs.close();
  208. }
  209. }
  210. finally {
  211. ps.close();
  212. }
  213. }
  214.  
  215. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement