Facebook
From Baby Crocodile, 3 Years ago, written in HTML5.
Embed
Download Paste or View Raw
Hits: 97
  1. package pl.bartoszliszka.LessonsOfSwim.controllers;
  2.  
  3.  
  4. import org.apache.catalina.User;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import pl.bartoszliszka.LessonsOfSwim.models.UserEntity;
  11. import pl.bartoszliszka.LessonsOfSwim.models.services.UserService;
  12.  
  13. import javax.validation.Valid;
  14.  
  15. @Controller
  16. public class LoginController {
  17.  
  18.     @Autowired
  19.     UserService userService;
  20.  
  21.     @RequestMapping("/login")
  22.     public String login(){
  23.         return "login";
  24.     }
  25.  
  26.     @RequestMapping("/register")
  27.     public String register(Model model){
  28.         model.addAttribute("user", new UserEntity());
  29.         return "register";
  30.     }
  31.  
  32.     @RequestMapping(value = "/login", method = RequestMethod.POST)
  33.     public String saveUser(@Valid User user){
  34.  
  35.             userService.saveUser(user);
  36.             return "redirect:/login";
  37.  
  38. }
  39. }
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. package pl.bartoszliszka.LessonsOfSwim.models;
  47.  
  48. import lombok.Data;
  49.  
  50. import javax.persistence.*;
  51. import javax.validation.constraints.NotEmpty;
  52. import java.util.Date;
  53.  
  54. @Entity
  55. @Data
  56. @Table(name = "user")
  57. public class UserEntity {
  58.  
  59.     @Id
  60.     @GeneratedValue(strategy = GenerationType.IDENTITY)
  61.     @Column(name = "id_user")
  62.     private int id;
  63.  
  64.     @Column(name = "first_name")
  65.     private String firstName;
  66.  
  67.     @Column(name = "last_name")
  68.     private String lastName;
  69.  
  70.     @Column(name = "email")
  71.     private String email;
  72.  
  73.     @Column(name = "password")
  74.     private String password;
  75.  
  76.     @Column(name = "password_repeat")
  77.     private String passwordRepeat;
  78.  
  79.     @Column(name = "phone_number")
  80.     private String phoneNumber;
  81.  
  82.     @Column(name = "gender")
  83.     private String gender;
  84.  
  85.     @Column(name = "date_of_birth")
  86.     private Date dateOfBirth;
  87.  
  88.     public UserEntity() {
  89.     }
  90.  
  91.     public UserEntity(String firstName, String lastName, String email, String password, String passwordRepeat, String phoneNumber, String gender, Date dateOfBirth) {
  92.         this.firstName = firstName;
  93.         this.lastName = lastName;
  94.         this.email = email;
  95.         this.password = password;
  96.         this.passwordRepeat = passwordRepeat;
  97.         this.phoneNumber = phoneNumber;
  98.         this.gender = gender;
  99.         this.dateOfBirth = dateOfBirth;
  100.     }
  101. }
  102.  
  103.  
  104.  
  105. package pl.bartoszliszka.LessonsOfSwim.models.services;
  106.  
  107. import org.apache.catalina.User;
  108. import org.springframework.beans.factory.annotation.Autowired;
  109. import org.springframework.stereotype.Component;
  110. import pl.bartoszliszka.LessonsOfSwim.models.repository.UserRepository;
  111.  
  112. import javax.transaction.Transactional;
  113.  
  114.  
  115. @Component
  116. public class UserService {
  117.    
  118.     @Autowired
  119.     UserRepository userRepository;
  120.  
  121.     @Transactional
  122.     public void saveUser(User user) {
  123.         userRepository.createUser(user);
  124.     }
  125. }
  126.  
  127.  
  128. package pl.bartoszliszka.LessonsOfSwim.models.repository;
  129.  
  130. import org.apache.catalina.User;
  131. import org.springframework.stereotype.Repository;
  132. import pl.bartoszliszka.LessonsOfSwim.models.UserEntity;
  133.  
  134. import javax.persistence.EntityManager;
  135. import javax.persistence.PersistenceContext;
  136. import javax.transaction.Transactional;
  137. import java.util.Date;
  138.  
  139.  
  140. @Repository
  141. public class UserRepository {
  142.  
  143.     @PersistenceContext
  144.     private EntityManager em;
  145.  
  146.     @Transactional
  147.     public void createUser(User user){
  148.         em.persist(user);
  149.     }
  150.  
  151.     @Transactional
  152.     public void createUser(String firstName, String lastName, String email, String password, String passwordRepeat, String phoneNumber, String gender, Date dateOfBirth){
  153.         UserEntity user=new UserEntity(firstName, lastName, email, password, passwordRepeat, phoneNumber, gender, dateOfBirth);
  154.         em.persist(user);
  155.     }
  156.  
  157.     @Transactional
  158.     public User getUser(int id){
  159.        return em.find(User.class, id);
  160.     }
  161.  
  162. }
  163.  
  164.  
  165.  
  166.