lab4
This commit is contained in:
@@ -27,14 +27,10 @@ dependencies {
|
|||||||
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
|
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
||||||
|
|
||||||
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
||||||
|
|
||||||
implementation 'org.hibernate.orm:hibernate-community-dialects'
|
|
||||||
implementation 'org.xerial:sqlite-jdbc:3.46.1.3'
|
|
||||||
|
|
||||||
compileOnly 'org.projectlombok:lombok'
|
compileOnly 'org.projectlombok:lombok'
|
||||||
annotationProcessor 'org.projectlombok:lombok'
|
annotationProcessor 'org.projectlombok:lombok'
|
||||||
|
|
||||||
|
|||||||
@@ -12,14 +12,17 @@ import java.util.List;
|
|||||||
@Controller
|
@Controller
|
||||||
public class HomeController {
|
public class HomeController {
|
||||||
|
|
||||||
@Autowired
|
private final ProductRepository productRepository;
|
||||||
private ProductRepository productRepository;
|
|
||||||
|
public HomeController(ProductRepository productRepository) {
|
||||||
|
this.productRepository = productRepository;
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/")
|
@GetMapping("/")
|
||||||
public String home(Model model) {
|
public String home(Model model) {
|
||||||
model.addAttribute("message", "Добро пожаловать в магазин электротоваров!");
|
model.addAttribute("message", "Добро пожаловать в магазин электротоваров!");
|
||||||
|
|
||||||
List<Product> products = productRepository.findAll();
|
Iterable<Product> products = productRepository.findAll();
|
||||||
|
|
||||||
model.addAttribute("products", products);
|
model.addAttribute("products", products);
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,11 @@ import ru.lionarius.isdojplab.repository.UserRepository;
|
|||||||
@Controller
|
@Controller
|
||||||
public class RegisterFormController {
|
public class RegisterFormController {
|
||||||
|
|
||||||
@Autowired
|
private final UserRepository userRepository;
|
||||||
private UserRepository userRepository;
|
|
||||||
|
public RegisterFormController(UserRepository userRepository) {
|
||||||
|
this.userRepository = userRepository;
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/register")
|
@GetMapping("/register")
|
||||||
public String showForm(Model model) {
|
public String showForm(Model model) {
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
package ru.lionarius.isdojplab.model;
|
package ru.lionarius.isdojplab.model;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Entity
|
@Document
|
||||||
public class Cart {
|
public class Cart {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private String id;
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@OneToMany(cascade = CascadeType.ALL)
|
|
||||||
private List<CartItem> items;
|
private List<CartItem> items;
|
||||||
|
|
||||||
private Double totalPrice;
|
private Double totalPrice;
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
package ru.lionarius.isdojplab.model;
|
package ru.lionarius.isdojplab.model;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Entity
|
@Document
|
||||||
public class CartItem {
|
public class CartItem {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private String id;
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@ManyToOne
|
|
||||||
private Product product;
|
private Product product;
|
||||||
|
|
||||||
private int quantity;
|
private int quantity;
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package ru.lionarius.isdojplab.model;
|
package ru.lionarius.isdojplab.model;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -11,11 +12,10 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Entity
|
@Document
|
||||||
public class CartOrder {
|
public class CartOrder {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
private String customerName;
|
private String customerName;
|
||||||
@@ -23,7 +23,6 @@ public class CartOrder {
|
|||||||
private String address;
|
private String address;
|
||||||
private String email;
|
private String email;
|
||||||
|
|
||||||
@OneToMany(cascade = CascadeType.ALL)
|
|
||||||
private List<CartItem> items;
|
private List<CartItem> items;
|
||||||
|
|
||||||
private BigDecimal totalPrice;
|
private BigDecimal totalPrice;
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
package ru.lionarius.isdojplab.model;
|
package ru.lionarius.isdojplab.model;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Entity
|
@Document
|
||||||
public class Product {
|
public class Product {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private String id;
|
||||||
private Long id;
|
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private Double price;
|
private Double price;
|
||||||
|
|||||||
@@ -1,20 +1,17 @@
|
|||||||
package ru.lionarius.isdojplab.model;
|
package ru.lionarius.isdojplab.model;
|
||||||
|
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.GenerationType;
|
|
||||||
import jakarta.persistence.Id;
|
|
||||||
import jakarta.validation.constraints.Email;
|
import jakarta.validation.constraints.Email;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Entity
|
@Document
|
||||||
public class User {
|
public class User {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
private String id;
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@NotBlank(message = "Поле не может быть пустым")
|
@NotBlank(message = "Поле не может быть пустым")
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package ru.lionarius.isdojplab.repository;
|
package ru.lionarius.isdojplab.repository;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
import ru.lionarius.isdojplab.model.Product;
|
import ru.lionarius.isdojplab.model.Product;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface ProductRepository extends JpaRepository<Product, Long> {
|
public interface ProductRepository extends CrudRepository<Product, Long> {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package ru.lionarius.isdojplab.repository;
|
package ru.lionarius.isdojplab.repository;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
import ru.lionarius.isdojplab.model.User;
|
import ru.lionarius.isdojplab.model.User;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface UserRepository extends JpaRepository<User, Long> {
|
public interface UserRepository extends CrudRepository<User, Long> {
|
||||||
|
|
||||||
Optional<User> findByEmail(String email);
|
Optional<User> findByEmail(String email);
|
||||||
Optional<User> findByName(String name);
|
Optional<User> findByName(String name);
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
spring.application.name=isdojp-lab
|
spring.application.name=isdojp-lab
|
||||||
spring.datasource.driver-class-name=org.sqlite.JDBC
|
spring.data.mongodb.host=localhost
|
||||||
spring.datasource.url=jdbc:sqlite:./database/data.db
|
spring.data.mongodb.port=27017
|
||||||
spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect
|
spring.data.mongodb.database=isdojp
|
||||||
spring.jpa.generate-ddl=true
|
spring.data.mongodb.auto-index-creation=true
|
||||||
spring.jpa.hibernate.ddl-auto=update
|
|
||||||
spring.jpa.show-sql=true
|
|
||||||
|
|||||||
Reference in New Issue
Block a user