Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Controller
- public class UserControllerImpl implements UserController {
- private UserRepository repository;
- private UserValidator validator;
- @Autowired
- public UserControllerImpl(UserRepository repository, UserValidator validator) {
- this.repository = repository;
- this.validator = validator;
- }
- @RequestMapping(value = "/", method = RequestMethod.GET)
- @Override
- public String getUsers(ModelMap model) {
- List<User> users = this.repository.listAll();
- model.addAttribute("user", users);
- return "index";
- }
- @RequestMapping(value = "addUser", method = RequestMethod.GET)
- @Override
- public String addUser(ModelMap model) {
- return "addUser";
- }
- @RequestMapping(value = "addUser", method = RequestMethod.POST)
- @Override
- public String addUser(@RequestParam("name") String name, @RequestParam("age") String age, @RequestParam(value = "isAdmin",
- required = true, defaultValue = "false") Boolean isAdmin) {
- User user = new User(name, Integer.parseInt(age), isAdmin);
- user.setCreatedDate();
- this.repository.addUser(user);
- return "redirect:/";
- }
- @RequestMapping(value = "deleteUser/{id}", method = RequestMethod.GET)
- @Override
- public String deleteUser(@PathVariable Integer id) {
- this.repository.removeUser(id);
- return "redirect:/";
- }
- @RequestMapping(value = "updateUser/{id}", method = RequestMethod.GET)
- @Override
- public String getUpdate(@PathVariable Integer id, Model model) {
- model.addAttribute("userAttribute", this.repository.get(id));
- return "updateUser";
- }
- @RequestMapping(value = "updateUser/{id}", method = RequestMethod.POST)
- @Override
- public String postUpdate(@PathVariable Integer id, Model model) {
- model.addAttribute("userAttribute", this.repository.get(id));
- return "updateUser";
- }
- }
- @Repository
- @Transactional
- public class UserRepositoryImpl implements UserRepository {
- @Autowired
- SessionFactory sessionFactory;
- @Override
- public void addUser(User user) {
- Session session = sessionFactory.openSession();
- session.save(user);
- }
- @Override
- public User get(Integer id) {
- Session session = sessionFactory.getCurrentSession();
- User user = session.get(User.class, id);
- return user;
- }
- @Override
- public List<User> listAll() {
- Session session = sessionFactory.getCurrentSession();
- return session.createQuery("from User").list();
- }
- @Override
- public void removeUser(Integer id) {
- Session session = sessionFactory.getCurrentSession();
- User contact = session.load(User.class, id);
- if (null != contact) {
- session.delete(contact);
- }
- }
- @Override
- public void updateUser(User user) {
- Session session = sessionFactory.getCurrentSession();
- User existingUser = session.get(User.class, user.getId());
- existingUser.setName(user.getName());
- existingUser.setAge(user.getAge());
- existingUser.setAdmin(user.isAdmin());
- session.save(existingUser);
- }
- }
- @Entity
- @Table(name = "users")
- public class User {
- @Id
- @Column(name = "id")
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int id;
- @Basic
- @Column(name = "name")
- private String name;
- @Basic
- @Column(name = "age")
- private Integer age;
- @Basic
- @Column(name = "isAdmin")
- private boolean isAdmin;
- @Basic
- @Column(name = "createdDate")
- @GeneratedValue
- private Timestamp createdDate;
- public User() {
- }
- public User(String name, boolean isAdmin) {
- this.name = name;
- this.isAdmin = isAdmin;
- }
- public User(String name, Integer age, boolean isAdmin) {
- this.name = name;
- this.age = age;
- this.isAdmin = isAdmin;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public boolean isAdmin() {
- return isAdmin;
- }
- public void setAdmin(boolean admin) {
- isAdmin = admin;
- }
- public Timestamp getCreatedDate() {
- return createdDate;
- }
- public void setCreatedDate() {
- this.createdDate = new Timestamp(System.currentTimeMillis());
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- User user = (User) o;
- if (id != user.id) return false;
- if (isAdmin != user.isAdmin) return false;
- if (name != null ? !name.equals(user.name) : user.name != null) return false;
- if (age != null ? !age.equals(user.age) : user.age != null) return false;
- return createdDate != null ? createdDate.equals(user.createdDate) : user.createdDate == null;
- }
- @Override
- public int hashCode() {
- int result = id;
- result = 31 * result + (name != null ? name.hashCode() : 0);
- result = 31 * result + (age != null ? age.hashCode() : 0);
- result = 31 * result + (isAdmin ? 1 : 0);
- result = 31 * result + (createdDate != null ? createdDate.hashCode() : 0);
- return result;
- }
- }
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
- <%--
- Created by IntelliJ IDEA.
- User: Ar4er
- Date: 20.04.16
- Time: 16:27
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Update User</title>
- </head>
- <body>
- <c:url var="saveUrl" value="/updateUser/${userAttribute.id}"/>
- <form:form modelAttribute="userAttribute" method="post" action="${saveUrl}">
- <table>
- <tr>
- <td><form:label path="id">Id:</form:label></td>
- <td><form:input path="id" disabled="true" /></td>
- </tr>
- <tr>
- <td><form:label path="name">Name</form:label></td>
- <td><form:input path="name"/></td>
- </tr>
- <tr>
- <td><form:label path="age">Age</form:label></td>
- <td><form:input path="age"/></td>
- </tr>
- <%--<tr>--%>
- <%--<td><form:label path="isAdmin">Admin</form:label></td>--%>
- <%--<td><form:checkbox path="isAdmin"/></td>--%>
- <%--</tr>--%>
- </table>
- <input type="submit" value="Save"/>
- </form:form>
- </body>
- </html>
- DROP TABLE IF EXISTS user;
- DROP SEQUENCE IF EXISTS global_seq;
- CREATE SEQUENCE global_seq START 100000;
- CREATE TABLE users
- (
- id INTEGER PRIMARY KEY DEFAULT nextval('global_seq'),
- age INTEGER ,
- name VARCHAR NOT NULL,
- createdDate TIMESTAMP DEFAULT now(),
- isAdmin BOOL DEFAULT TRUE
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement