From 5975a5a6d3a99692ecf11a9dcea2ad7e99a7d990 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Thu, 22 Feb 2018 19:09:03 +0100
Subject: [PATCH] added basic mysql database connection; added class and
 repository for categories

---
 pom.xml                                       | 10 ++++
 .../controller/IndexController.java           | 11 +++++
 .../budgetmaster/entities/Category.java       | 46 +++++++++++++++++++
 .../repositories/CategoryRepository.java      | 10 ++++
 src/main/resources/application.properties     |  5 ++
 5 files changed, 82 insertions(+)
 create mode 100644 src/main/java/de/deadlocker8/budgetmaster/entities/Category.java
 create mode 100644 src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java

diff --git a/pom.xml b/pom.xml
index 2c9df3333..2b66cc3b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,16 @@
             <artifactId>tools</artifactId>
             <version>1.0.0</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
index 7f47a37ae..a69300860 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
@@ -1,14 +1,25 @@
 package de.deadlocker8.budgetmaster.controller;
 
+import de.deadlocker8.budgetmaster.entities.Category;
+import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 @Controller
 public class IndexController extends BaseController
 {
+	@Autowired
+	private CategoryRepository categoryRepository;
+
 	@RequestMapping("/")
 	public String index()
 	{
+		Category n = new Category();
+		n.setName("Ausgaben");
+		n.setColor("#FF0000");
+		categoryRepository.save(n);
+
 		return "index";
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/entities/Category.java b/src/main/java/de/deadlocker8/budgetmaster/entities/Category.java
new file mode 100644
index 000000000..3759ab769
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/entities/Category.java
@@ -0,0 +1,46 @@
+package de.deadlocker8.budgetmaster.entities;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+@Entity
+public class Category
+{
+	@Id
+	@GeneratedValue(strategy=GenerationType.AUTO)
+	private Integer ID;
+	private String name;
+	private String color;
+
+	public Integer getID() {
+		return ID;
+	}
+
+	public void setId(Integer ID) {
+		this.ID = ID;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getColor() {
+		return color;
+	}
+
+	public void setColor(String color) {
+		this.color = color;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "Category [ID=" + ID + ", name=" + name + ", color=" + color + "]";
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java b/src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java
new file mode 100644
index 000000000..20454d070
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java
@@ -0,0 +1,10 @@
+package de.deadlocker8.budgetmaster.repositories;
+
+import de.deadlocker8.budgetmaster.entities.Category;
+import org.springframework.data.repository.CrudRepository;
+
+
+public interface CategoryRepository extends CrudRepository<Category, Long>
+{
+
+}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9958587d9..11ee1887f 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -7,3 +7,8 @@ logging.file=error.log
 
 spring.freemarker.template-loader-path=classpath:/templates
 spring.freemarker.suffix=.ftl
+
+spring.jpa.hibernate.ddl-auto=create
+spring.datasource.url=jdbc:mysql://localhost:3306/budgetmaster2
+spring.datasource.username=root
+spring.datasource.password=
\ No newline at end of file
-- 
GitLab