Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. import java.sql.*;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.Statement;
  5. import java.util.Scanner;
  6.  
  7. public class Main {
  8.  
  9. static final String DB_CONNECTION = "jdbc:mysql://localhost:3306/sotdb";
  10. static final String DB_USER = "root";
  11. static final String DB_PASSWORD = "root";
  12.  
  13. static Connection conn;
  14.  
  15. public static void main(String[] args) {
  16.  
  17. Scanner scan = new Scanner(System.in);
  18.  
  19. try {
  20. try {
  21.  
  22.  
  23. conn = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD);
  24. //initDB();
  25.  
  26. while (true) {
  27.  
  28. System.out.println("1: Add to db");
  29. System.out.println("2: Remove from db");
  30. System.out.println("3: Search by Parameter");
  31. System.out.println("-> ");
  32.  
  33. String s = scan.nextLine();
  34. switch (s) {
  35. case "1":
  36. addFlat(scan);
  37. break;
  38. case "2":
  39. removeFlat(scan);
  40. break;
  41. case "3":
  42. parameterViewer(scan);
  43. break;
  44. }
  45. }
  46. } finally {
  47. scan.close();
  48. if (conn != null) conn.close();
  49. }
  50. } catch (SQLException e) {
  51. e.printStackTrace();
  52. return;
  53. }
  54. }
  55.  
  56.  
  57. private static void initDB() throws SQLException {
  58. Statement st = conn.createStatement();
  59. try {
  60. st.execute("DROP TABLE IF EXISTS Flats");
  61. st.execute("CREATE TABLE Flats (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY," +
  62. "district VARCHAR(20) DEFAULT NULL, address VARCHAR(20) " +
  63. "DEFAULT NULL, area INT DEFAULT NULL, rooms INT DEFAULT NULL, price INT DEFAULT NULL)");
  64. }finally {
  65. st.close();
  66. }
  67. }
  68.  
  69. private static void addFlat(Scanner scan) throws SQLException{
  70. System.out.println("Enter district: ");
  71. String district = scan.nextLine();
  72. System.out.println("Enter address: ");
  73. String address = scan.nextLine();
  74. System.out.println("Enter floor area: ");
  75. String sArea = scan.nextLine();
  76. int area = Integer.parseInt(sArea);
  77. System.out.println("Enter number of rooms: ");
  78. String sRooms = scan.nextLine();
  79. int rooms = Integer.parseInt(sRooms);
  80. System.out.println("Enter price: ");
  81. String sPrice = scan.nextLine();
  82. int price = Integer.parseInt(sPrice);
  83.  
  84. PreparedStatement ps = conn.prepareStatement("INSERT INTO Flats (district, address, area, rooms, price)" +
  85. "VALUES (?, ?, ?, ?, ?)");
  86. try {
  87. ps.setString(1, district);
  88. ps.setString(2, address);
  89. ps.setInt(3, area);
  90. ps.setInt(4, rooms);
  91. ps.setInt(5, price);
  92. ps.executeUpdate();
  93.  
  94. } finally {
  95. ps.close();
  96. }
  97. }
  98.  
  99. private static void removeFlat(Scanner scan) throws SQLException{
  100.  
  101. System.out.println("Which district are you deleting from?");
  102. String district = scan.nextLine();
  103.  
  104. PreparedStatement ps = conn.prepareStatement("DELETE FROM Flats WHERE district = ?");
  105. try{
  106.  
  107. ps.setString(1, district);
  108. ps.executeUpdate();
  109. }finally {
  110. ps.close();
  111. }
  112. }
  113.  
  114. private static void parameterViewer(Scanner scan) throws SQLException{
  115. int intValue = 0;
  116. System.out.println("Search by district, address, area, rooms, or price?");
  117. String parameter = scan.nextLine();
  118. System.out.println("Enter value: ");
  119. String value = scan.nextLine();
  120. if (org.apache.commons.lang3.StringUtils.isNumeric(value)){
  121. intValue = Integer.parseInt(value);
  122. }
  123.  
  124. PreparedStatement ps = conn.prepareStatement("select * from flats WHERE " + parameter + " = ?");
  125.  
  126. if (intValue != 0){
  127. ps.setInt(1, intValue);
  128. } else {
  129. ps.setString(1, value);
  130. }
  131.  
  132. try {
  133.  
  134. ResultSet rs = ps.executeQuery();
  135. try{
  136. ResultSetMetaData md = rs.getMetaData();
  137.  
  138. for (int i = 1; i<=md.getColumnCount(); i++)
  139. System.out.print(md.getColumnName(i) + "\t\t");
  140. System.out.println();
  141.  
  142. while (rs.next()) {
  143. for (int i = 1; i<=md.getColumnCount(); i++){
  144. System.out.print(rs.getString(i) + "\t\t " );
  145. }
  146. System.out.println();
  147. }
  148. }finally {
  149. rs.close();
  150. }
  151. }finally {
  152. ps.close();
  153. }
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement