Advertisement
Guest User

Untitled

a guest
Mar 25th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.91 KB | None | 0 0
  1. @Controller
  2. public class UserControllerImpl implements UserController {
  3.  
  4. private UserRepository repository;
  5.  
  6. private UserValidator validator;
  7.  
  8. @Autowired
  9. public UserControllerImpl(UserRepository repository, UserValidator validator) {
  10. this.repository = repository;
  11. this.validator = validator;
  12. }
  13.  
  14. @RequestMapping(value = "/", method = RequestMethod.GET)
  15. @Override
  16. public String getUsers(ModelMap model) {
  17. List<User> users = this.repository.listAll();
  18. model.addAttribute("user", users);
  19. return "index";
  20. }
  21.  
  22. @RequestMapping(value = "addUser", method = RequestMethod.GET)
  23. @Override
  24. public String addUser(ModelMap model) {
  25. return "addUser";
  26. }
  27.  
  28. @RequestMapping(value = "addUser", method = RequestMethod.POST)
  29. @Override
  30. public String addUser(@RequestParam("name") String name, @RequestParam("age") String age, @RequestParam(value = "isAdmin",
  31. required = true, defaultValue = "false") Boolean isAdmin) {
  32. User user = new User(name, Integer.parseInt(age), isAdmin);
  33. user.setCreatedDate();
  34. this.repository.addUser(user);
  35. return "redirect:/";
  36. }
  37.  
  38. @RequestMapping(value = "deleteUser/{id}", method = RequestMethod.GET)
  39. @Override
  40. public String deleteUser(@PathVariable Integer id) {
  41. this.repository.removeUser(id);
  42. return "redirect:/";
  43. }
  44.  
  45. @RequestMapping(value = "updateUser/{id}", method = RequestMethod.GET)
  46. @Override
  47. public String getUpdate(@PathVariable Integer id, Model model) {
  48. model.addAttribute("userAttribute", this.repository.get(id));
  49. return "updateUser";
  50. }
  51.  
  52. @RequestMapping(value = "updateUser/{id}", method = RequestMethod.POST)
  53. @Override
  54. public String postUpdate(@PathVariable Integer id, Model model) {
  55. model.addAttribute("userAttribute", this.repository.get(id));
  56. return "updateUser";
  57. }
  58. }
  59.  
  60. @Repository
  61. @Transactional
  62. public class UserRepositoryImpl implements UserRepository {
  63.  
  64. @Autowired
  65. SessionFactory sessionFactory;
  66.  
  67. @Override
  68. public void addUser(User user) {
  69. Session session = sessionFactory.openSession();
  70. session.save(user);
  71. }
  72.  
  73. @Override
  74. public User get(Integer id) {
  75. Session session = sessionFactory.getCurrentSession();
  76. User user = session.get(User.class, id);
  77. return user;
  78. }
  79.  
  80. @Override
  81. public List<User> listAll() {
  82. Session session = sessionFactory.getCurrentSession();
  83. return session.createQuery("from User").list();
  84. }
  85.  
  86. @Override
  87. public void removeUser(Integer id) {
  88. Session session = sessionFactory.getCurrentSession();
  89. User contact = session.load(User.class, id);
  90. if (null != contact) {
  91. session.delete(contact);
  92. }
  93. }
  94.  
  95. @Override
  96. public void updateUser(User user) {
  97. Session session = sessionFactory.getCurrentSession();
  98. User existingUser = session.get(User.class, user.getId());
  99. existingUser.setName(user.getName());
  100. existingUser.setAge(user.getAge());
  101. existingUser.setAdmin(user.isAdmin());
  102. session.save(existingUser);
  103. }
  104. }
  105.  
  106. @Entity
  107. @Table(name = "users")
  108. public class User {
  109. @Id
  110. @Column(name = "id")
  111. @GeneratedValue(strategy = GenerationType.IDENTITY)
  112. private int id;
  113.  
  114. @Basic
  115. @Column(name = "name")
  116. private String name;
  117.  
  118. @Basic
  119. @Column(name = "age")
  120. private Integer age;
  121.  
  122. @Basic
  123. @Column(name = "isAdmin")
  124. private boolean isAdmin;
  125.  
  126. @Basic
  127. @Column(name = "createdDate")
  128. @GeneratedValue
  129. private Timestamp createdDate;
  130.  
  131.  
  132. public User() {
  133. }
  134.  
  135. public User(String name, boolean isAdmin) {
  136. this.name = name;
  137. this.isAdmin = isAdmin;
  138. }
  139.  
  140. public User(String name, Integer age, boolean isAdmin) {
  141. this.name = name;
  142. this.age = age;
  143. this.isAdmin = isAdmin;
  144. }
  145.  
  146. public int getId() {
  147. return id;
  148. }
  149.  
  150. public void setId(int id) {
  151. this.id = id;
  152. }
  153.  
  154. public String getName() {
  155. return name;
  156. }
  157.  
  158. public void setName(String name) {
  159. this.name = name;
  160. }
  161.  
  162. public Integer getAge() {
  163. return age;
  164. }
  165.  
  166. public void setAge(Integer age) {
  167. this.age = age;
  168. }
  169.  
  170. public boolean isAdmin() {
  171. return isAdmin;
  172. }
  173.  
  174. public void setAdmin(boolean admin) {
  175. isAdmin = admin;
  176. }
  177.  
  178. public Timestamp getCreatedDate() {
  179. return createdDate;
  180. }
  181.  
  182. public void setCreatedDate() {
  183. this.createdDate = new Timestamp(System.currentTimeMillis());
  184. }
  185.  
  186. @Override
  187. public boolean equals(Object o) {
  188. if (this == o) return true;
  189. if (o == null || getClass() != o.getClass()) return false;
  190.  
  191. User user = (User) o;
  192.  
  193. if (id != user.id) return false;
  194. if (isAdmin != user.isAdmin) return false;
  195. if (name != null ? !name.equals(user.name) : user.name != null) return false;
  196. if (age != null ? !age.equals(user.age) : user.age != null) return false;
  197. return createdDate != null ? createdDate.equals(user.createdDate) : user.createdDate == null;
  198. }
  199.  
  200. @Override
  201. public int hashCode() {
  202. int result = id;
  203. result = 31 * result + (name != null ? name.hashCode() : 0);
  204. result = 31 * result + (age != null ? age.hashCode() : 0);
  205. result = 31 * result + (isAdmin ? 1 : 0);
  206. result = 31 * result + (createdDate != null ? createdDate.hashCode() : 0);
  207. return result;
  208. }
  209. }
  210.  
  211. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  212. <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
  213. <%--
  214. Created by IntelliJ IDEA.
  215. User: Ar4er
  216. Date: 20.04.16
  217. Time: 16:27
  218. To change this template use File | Settings | File Templates.
  219. --%>
  220. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  221. <html>
  222. <head>
  223. <title>Update User</title>
  224. </head>
  225. <body>
  226. <c:url var="saveUrl" value="/updateUser/${userAttribute.id}"/>
  227. <form:form modelAttribute="userAttribute" method="post" action="${saveUrl}">
  228. <table>
  229. <tr>
  230. <td><form:label path="id">Id:</form:label></td>
  231. <td><form:input path="id" disabled="true" /></td>
  232. </tr>
  233.  
  234. <tr>
  235. <td><form:label path="name">Name</form:label></td>
  236. <td><form:input path="name"/></td>
  237. </tr>
  238.  
  239. <tr>
  240. <td><form:label path="age">Age</form:label></td>
  241. <td><form:input path="age"/></td>
  242. </tr>
  243.  
  244. <%--<tr>--%>
  245. <%--<td><form:label path="isAdmin">Admin</form:label></td>--%>
  246. <%--<td><form:checkbox path="isAdmin"/></td>--%>
  247. <%--</tr>--%>
  248. </table>
  249. <input type="submit" value="Save"/>
  250. </form:form>
  251. </body>
  252. </html>
  253.  
  254. DROP TABLE IF EXISTS user;
  255. DROP SEQUENCE IF EXISTS global_seq;
  256.  
  257. CREATE SEQUENCE global_seq START 100000;
  258.  
  259. CREATE TABLE users
  260. (
  261. id INTEGER PRIMARY KEY DEFAULT nextval('global_seq'),
  262. age INTEGER ,
  263. name VARCHAR NOT NULL,
  264. createdDate TIMESTAMP DEFAULT now(),
  265. isAdmin BOOL DEFAULT TRUE
  266. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement