· 4 years ago · Mar 20, 2021, 08:58 PM
1package DB;
2
3import Beans.Category;
4
5import java.util.ArrayList;
6import java.util.HashMap;
7import java.util.Map;
8
9public class DatabaseManager {
10 public static String url = "jdbc:mysql://localhost:3306?createDatabaseIfNotExist=FALSE&useTimezone=TRUE&serverTimezone=GMT"; //Asia/Jerusalem
11 public static String username = "root";
12 public static String password = "";
13
14 private static final String CREATE_DB = "CREATE DATABASE coupon_master";
15 private static final String DROP_DB = "DROP DATABASE coupon_master";
16
17 public static final String CREATE_TABLE_CATEGORIES = "CREATE TABLE IF NOT EXISTS `coupon_master`.`categories` (`ID` int(11) NOT NULL AUTO_INCREMENT,`NAME` varchar(50) NOT NULL, PRIMARY KEY (`ID`))";
18 private static final String ADD_CATEGORIES = "INSERT INTO `project`.`categories`(`NAME`) VALUES (?)";
19 public static final String DROP_TABLE_CATEGORIES = "DROP TABLE `coupon_master`.`categories` IF EXISTS";
20
21 public static final String CREATE_TABLE_COMPANIES = "CREATE TABLE IF NOT EXISTS `coupon_master`.`companies` (`ID` int(11) NOT NULL AUTO_INCREMENT, `NAME` varchar(50) NOT NULL, `EMAIL` varchar(50) NOT NULL, " +
22 "`PASSWORD` varchar(50) NOT NULL, PRIMARY KEY (`ID`))";
23 public static final String DROP_TABLE_COMPANIES = "DROP TABLE `coupon_master`.`companies` IF EXISTS";
24
25 public static final String CREATE_TABLE_COUPONS = "CREATE TABLE IF NOT EXISTS `coupon_master`.`coupons` (`ID` int(11) NOT NULL AUTO_INCREMENT, `COMPANY_ID` int(11) DEFAULT NULL, `CATEGORY_ID` int(11) NOT NULL, " +
26 "`TITLE` varchar(50) NOT NULL, `DESCRIPTION` varchar(200) NOT NULL, `START_DATE` date NOT NULL, `END_DATE` date NOT NULL, " +
27 "`AMOUNT` int(11) NOT NULL,`PRICE` double NOT NULL, `IMAGE` varchar(200) NOT NULL, PRIMARY KEY (`ID`), " +
28 " FOREIGN KEY (`COMPANY_ID`) REFERENCES `companies` (`ID`), FOREIGN KEY (`CATEGORY_ID`) REFERENCES `categories` (`ID`))";
29 public static final String DROP_TABLE_COUPONS = "DROP TABLE `coupon_master`.`coupons` IF EXISTS";
30
31 public static final String CREATE_TABLE_CUSTOMERS = "CREATE TABLE IF NOT EXISTS `coupon_master`.`customers` (`ID` int(11) NOT NULL AUTO_INCREMENT, `FIRST_NAME` varchar(50) NOT NULL,`LAST_NAME` varchar(50) NOT NULL, " +
32 "`EMAIL` varchar(50) NOT NULL, `PASSWORD` varchar(50) NOT NULL, PRIMARY KEY (`ID`))";
33 public static final String DROP_TABLE_CUSTOMERS = "DROP TABLE `coupon_master`.`customers` IF EXISTS";
34
35 public static final String CREATE_TABLE_CUSTOMERS_VS_COUPONS = "CREATE TABLE IF NOT EXISTS `coupon_master`.`customers_vs_coupons` (`CUSTOMER_ID` int(11) NOT NULL, `COUPON_ID` int(11) NOT NULL, " +
36 "PRIMARY KEY (`CUSTOMER_ID`,`COUPON_ID`), FOREIGN KEY (`CUSTOMER_ID`) REFERENCES `customers` (`ID`), FOREIGN KEY (`COUPON_ID`) REFERENCES `coupons` (`ID`))";
37 public static final String DROP_TABLE_CUSTOMERS_VS_COUPONS = "DROP TABLE `coupon_master`.`customers_vs_coupons` IF EXISTS";
38
39
40 public static boolean createDataBase() {
41 return DBUtilities.runQuery(CREATE_DB);
42 }
43
44 public static boolean dropDataBase() {
45 return DBUtilities.runQuery(DROP_DB);
46 }
47
48
49 public static boolean createTableCategories() {
50 return DBUtilities.runQuery(CREATE_TABLE_CATEGORIES);
51 }
52
53 public static boolean dropTableCategories() {
54 return DBUtilities.runQuery(DROP_TABLE_CATEGORIES);
55 }
56
57
58 public static boolean createTableCompanies() {
59 return DBUtilities.runQuery(CREATE_TABLE_COMPANIES);
60 }
61
62 public static boolean dropTableCompanies() {
63 return DBUtilities.runQuery(DROP_TABLE_COMPANIES);
64 }
65
66
67 public static boolean createTableCoupons() {
68 return DBUtilities.runQuery(CREATE_TABLE_COUPONS);
69 }
70
71 public static boolean dropTableCoupons() {
72 return DBUtilities.runQuery(DROP_TABLE_COUPONS);
73 }
74
75
76 public static boolean createTableCustomers() {
77 return DBUtilities.runQuery(CREATE_TABLE_CUSTOMERS);
78 }
79
80 public static boolean dropTableCustomers() {
81 return DBUtilities.runQuery(DROP_TABLE_CUSTOMERS);
82 }
83
84
85 public static boolean createTableCustomersVsCoupons() {
86 return DBUtilities.runQuery(CREATE_TABLE_CUSTOMERS_VS_COUPONS);
87 }
88
89 public static boolean dropTableCustomersVsCoupons() {
90 return DBUtilities.runQuery(DROP_TABLE_CUSTOMERS_VS_COUPONS);
91 }
92}