From 7495f455e283dcce414af248c2acefce0d72e6cc Mon Sep 17 00:00:00 2001 From: Johannes Theiner Date: Fri, 5 Apr 2019 19:54:03 +0200 Subject: [PATCH] ~ POJOs done + Example Database Servlet Signed-off-by: Johannes Theiner --- pom.xml | 1 + src/main/java/de/hsel/itech/db/Database.java | 31 ++++++++++---- .../hsel/itech/db/pojo/CreditCardPayment.java | 24 +++++++++++ .../hsel/itech/db/pojo/DebitCardPayment.java | 21 ++++++++++ .../de/hsel/itech/db/pojo/InvoicePayment.java | 18 +++++++++ .../java/de/hsel/itech/db/pojo/Order.java | 29 ++++++++++++++ .../de/hsel/itech/db/pojo/PayPalPayment.java | 20 ++++++++++ .../de/hsel/itech/db/pojo/PaymentType.java | 18 +++++++++ .../de/hsel/itech/db/pojo/ShoppingCart.java | 20 ++++++++++ .../java/de/hsel/itech/servlet/Database.java | 40 +++++++++++++++++++ src/main/webapp/WEB-INF/web.xml | 10 +++++ 11 files changed, 224 insertions(+), 8 deletions(-) create mode 100644 src/main/java/de/hsel/itech/db/pojo/CreditCardPayment.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/DebitCardPayment.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/InvoicePayment.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/Order.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/PayPalPayment.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/PaymentType.java create mode 100644 src/main/java/de/hsel/itech/db/pojo/ShoppingCart.java create mode 100644 src/main/java/de/hsel/itech/servlet/Database.java diff --git a/pom.xml b/pom.xml index 5821b30..2418572 100644 --- a/pom.xml +++ b/pom.xml @@ -137,6 +137,7 @@ 100 ${project.build.sourceEncoding} true + false diff --git a/src/main/java/de/hsel/itech/db/Database.java b/src/main/java/de/hsel/itech/db/Database.java index c42d288..44faa36 100644 --- a/src/main/java/de/hsel/itech/db/Database.java +++ b/src/main/java/de/hsel/itech/db/Database.java @@ -3,11 +3,11 @@ package de.hsel.itech.db; import de.hsel.itech.config.Configuration; import org.jetbrains.annotations.Nullable; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; +import java.sql.*; /** + * + * * @author Johannes Theiner * @version 0.1 * @since 0.1 @@ -15,11 +15,6 @@ import java.sql.SQLException; public class Database { public Database() { - try { - Class.forName("com.mariadb.jdbc.Driver"); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } } @@ -35,6 +30,26 @@ public class Database { return null; } + public String getHello() { + Connection connection = getConnection(); + + String hello = ""; + try { + PreparedStatement statement = connection.prepareStatement("SELECT * FROM test WHERE id = 1"); + + ResultSet resultSet = statement.executeQuery(); + resultSet.next(); + hello = resultSet.getString("hello"); + + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return hello; + + } + diff --git a/src/main/java/de/hsel/itech/db/pojo/CreditCardPayment.java b/src/main/java/de/hsel/itech/db/pojo/CreditCardPayment.java new file mode 100644 index 0000000..0a19e81 --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/CreditCardPayment.java @@ -0,0 +1,24 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.time.LocalDate; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class CreditCardPayment { + + private long id; + private Customer customer; + private int number; + private String owner; + private LocalDate expiration; + private int checksum; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/DebitCardPayment.java b/src/main/java/de/hsel/itech/db/pojo/DebitCardPayment.java new file mode 100644 index 0000000..3741404 --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/DebitCardPayment.java @@ -0,0 +1,21 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class DebitCardPayment { + + private long id; + private Customer customer; + private String iban; + private String bic; + private String owner; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/InvoicePayment.java b/src/main/java/de/hsel/itech/db/pojo/InvoicePayment.java new file mode 100644 index 0000000..acf8a5a --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/InvoicePayment.java @@ -0,0 +1,18 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class InvoicePayment { + + private long id; + private Customer customer; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/Order.java b/src/main/java/de/hsel/itech/db/pojo/Order.java new file mode 100644 index 0000000..c0f8a14 --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/Order.java @@ -0,0 +1,29 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.time.LocalDateTime; + + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class Order { + + private long id; + private LocalDateTime date; + private Book book; + + /** + * price in cents + */ + private int price; + private PaymentType paymentType; + private Address address; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/PayPalPayment.java b/src/main/java/de/hsel/itech/db/pojo/PayPalPayment.java new file mode 100644 index 0000000..e5804ac --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/PayPalPayment.java @@ -0,0 +1,20 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class PayPalPayment { + + private long id; + private Customer customer; + private String email; + private String authCode; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/PaymentType.java b/src/main/java/de/hsel/itech/db/pojo/PaymentType.java new file mode 100644 index 0000000..5f7e519 --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/PaymentType.java @@ -0,0 +1,18 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class PaymentType { + + private long id; + private String name; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/db/pojo/ShoppingCart.java b/src/main/java/de/hsel/itech/db/pojo/ShoppingCart.java new file mode 100644 index 0000000..375d01a --- /dev/null +++ b/src/main/java/de/hsel/itech/db/pojo/ShoppingCart.java @@ -0,0 +1,20 @@ +package de.hsel.itech.db.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ + +@Data +@AllArgsConstructor +public class ShoppingCart { + + private long id; + private Customer customer; + private Book article; + private int count; +} \ No newline at end of file diff --git a/src/main/java/de/hsel/itech/servlet/Database.java b/src/main/java/de/hsel/itech/servlet/Database.java new file mode 100644 index 0000000..7855d1f --- /dev/null +++ b/src/main/java/de/hsel/itech/servlet/Database.java @@ -0,0 +1,40 @@ +package de.hsel.itech.servlet; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; + +/** + * @author Johannes Theiner + * @version 0.1 + * @since 0.1 + **/ +public class Database extends HttpServlet { + + private static final long serialVersionUID = 15679036734L; + + /** + * doGet. + * + * @param req Request + * @param resp Response + * @throws IOException failed + */ + @Override + protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) + throws IOException { + + resp.setContentType("text/html"); + final PrintWriter out = resp.getWriter(); + out.println(""); + out.println(""); + out.println("Hallo Welt!"); + out.println(""); + out.println(""); + out.println("

" + new de.hsel.itech.db.Database().getHello() + "

"); + out.println(""); + out.println(""); + } +} \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 7f3e851..45371a9 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -10,8 +10,18 @@ de.hsel.itech.HelloWorld + + database + de.hsel.itech.servlet.Database + + helloWorld /index + + + database + /db + \ No newline at end of file