Advertisement
Guest User

Untitled

a guest
Nov 15th, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. import java.sql.*;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5. static final String DB_CONNECTION = "jdbc:mysql://localhost:3306/mysql";
  6. static final String DB_USER = "root";
  7. static final String DB_PASSWORD = "password";
  8.  
  9. private static void addFlat(Connection conn, String district, String address, float area, int rooms, float price) throws SQLException {
  10. try (PreparedStatement ps = conn.prepareStatement("INSERT INTO Flats (district, address, area, rooms, price) " +
  11. "VALUES(?, ?, ?, ?, ?)")) {
  12. ps.setString(1, district);
  13. ps.setString(2, address);
  14. ps.setFloat(3, area);
  15. ps.setInt(4, rooms);
  16. ps.setFloat(5, price);
  17. ps.executeUpdate();
  18. }
  19. }
  20.  
  21. private static void initDB(Connection conn) throws SQLException {
  22. try (Statement st = conn.createStatement()) {
  23. st.execute("DROP TABLE IF EXISTS Flats");
  24. st.execute("CREATE TABLE Flats (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, " +
  25. "district VARCHAR(50) NOT NULL, " +
  26. "address VARCHAR(100) NOT NULL, " +
  27. "area FLOAT NOT NULL, " +
  28. "rooms TINYINT NOT NULL, " +
  29. "price FLOAT NOT NULL)");
  30. }
  31.  
  32. addFlat(conn, "Печерський", "вул. Хрещатик 0.5", 1, 1, 999999);
  33. addFlat(conn, "Броварський", "вул. Шевченка 10", 20.2f, 3, 0.5f);
  34. addFlat(conn, "Печерський", "вул. Кутузова 12", 5, 2, 100);
  35. addFlat(conn, "Дарницький", "вул. Ялинкова 320", 100, 10, 0.1f);
  36. addFlat(conn, "Дарницький", "вул. Зарічна 10Я", 2, 30, 200);
  37. addFlat(conn, "Святошинський", "вул. Верховинна 23", 10, 5, 54.5f);
  38. addFlat(conn, "Святошинський", "вул. Генерала Наумова 42", 7.5f, 3, 23.15f);
  39. }
  40.  
  41. public static void view(Connection conn,String query) throws SQLException {
  42. String s = "";
  43. if (!query.isEmpty()) s = " WHERE " + query;
  44.  
  45. try (PreparedStatement ps = conn.prepareStatement("SELECT * FROM Flats" + s)) {
  46. try (ResultSet rs = ps.executeQuery()) {
  47. ResultSetMetaData md = rs.getMetaData();
  48.  
  49. System.out.print("(");
  50. for (int i = 1; i <= md.getColumnCount(); i++) {
  51. System.out.print(md.getColumnName(i));
  52. if (i != md.getColumnCount())
  53. System.out.print("; ");
  54. }
  55. System.out.println(")");
  56.  
  57. while (rs.next()) {
  58. System.out.print("(");
  59. for (int i = 1; i <= md.getColumnCount(); i++) {
  60. System.out.print(rs.getString(i));
  61. if (i != md.getColumnCount())
  62. System.out.print("; ");
  63. }
  64. System.out.println(")");
  65. }
  66. }
  67. }
  68. }
  69.  
  70. public static void main(String[] args) {
  71. try (Scanner sc = new Scanner(System.in)) {
  72. try (Connection conn = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD)) {
  73. initDB(conn);
  74.  
  75. while (true) {
  76. System.out.println("Write stuff");
  77.  
  78. String query = sc.nextLine();
  79. if (query.equals("exit")) return;
  80. view(conn, query);
  81. }
  82. }
  83. } catch (SQLException ex) {
  84. ex.printStackTrace();
  85. return;
  86. }
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement