Advertisement
Guest User

Untitled

a guest
Aug 25th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.69 KB | None | 0 0
  1. @Entity
  2. @Table(name = "Students")
  3. public class Student {
  4.  
  5. @Id
  6. @Column(name = "id")
  7. @GeneratedValue(strategy = GenerationType.IDENTITY)
  8. private Long id;
  9.  
  10. @Column(name = "name")
  11. private String name;
  12.  
  13. @Column(name = "classNumber")
  14. private String classNumber;
  15.  
  16. // Setters
  17.  
  18. public void setId(Long id) {
  19. this.id = id;
  20. }
  21.  
  22. public void setName(String name) {
  23. this.name = name;
  24. }
  25.  
  26. public void setClassNumber(String classNumber) {
  27. this.classNumber = classNumber;
  28. }
  29.  
  30.  
  31. // Getters
  32.  
  33. public Long getId() {
  34. return id;
  35. }
  36.  
  37. public String getName() {
  38. return name;
  39. }
  40.  
  41. public String getClassNumber() {
  42. return classNumber;
  43. }
  44. }
  45.  
  46. @Repository
  47. public class StudentDaoImpl implements StudentDao{
  48.  
  49. private SessionFactory sessionFactory;
  50.  
  51. public void setSessionFactory(SessionFactory sessionFactory) {
  52. this.sessionFactory = sessionFactory;
  53. }
  54.  
  55. public void addStudent(Student student) {
  56. Session session = this.sessionFactory.getCurrentSession();
  57. session.persist(student);
  58. }
  59. ...
  60. // Тут неправильно реализовано?
  61. @SuppressWarnings("unchecked")
  62. public List<Student> listStudents() {
  63. Session session = this.sessionFactory.getCurrentSession();
  64. List<Student> studentsList = session.createQuery("from Student").list();
  65.  
  66. for(Student student: studentsList){
  67. System.out.println("Student list: " + student);
  68. }
  69.  
  70. return studentsList;
  71. }
  72. }
  73.  
  74. <?xml version="1.0" encoding="UTF-8"?>
  75. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  76. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  77. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  78. version="3.1">
  79. <display-name>Java School Library</display-name>
  80.  
  81. <servlet>
  82. <servlet-name>dispatcherServlet</servlet-name>
  83. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  84. <init-param>
  85. <param-name>contextConfigLocation</param-name>
  86. <param-value>/WEB-INF/dispatcherConfig.xml</param-value>
  87. </init-param>
  88. <load-on-startup>1</load-on-startup>
  89. </servlet>
  90.  
  91. <servlet-mapping>
  92. <servlet-name>dispatcherServlet</servlet-name>
  93. <url-pattern>/</url-pattern>
  94. </servlet-mapping>
  95.  
  96. </web-app>
  97.  
  98. <beans xmlns="http://www.springframework.org/schema/beans"
  99. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  100. xmlns:mvc="http://www.springframework.org/schema/mvc"
  101. xmlns:context="http://www.springframework.org/schema/context"
  102. xmlns:beans="http://www.springframework.org/schema/c" xmlns:tx="http://www.springframework.org/schema/tx"
  103. xsi:schemaLocation="http://www.springframework.org/schema/beans
  104. http://www.springframework.org/schema/beans/spring-beans.xsd
  105. http://www.springframework.org/schema/mvc
  106. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  107. http://www.springframework.org/schema/context
  108. http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
  109.  
  110. <context:component-scan base-package="com.slandshow" />
  111.  
  112. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  113. <property name="prefix" value="/WEB-INF/pages/"/>
  114. <property name="suffix" value=".jsp"/>
  115. </bean>
  116.  
  117. <!-- Database Information -->
  118. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  119. destroy-method="close">
  120. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  121. <property name="url"
  122. value="jdbc:mysql://localhost:3306/javahelps"/>
  123. <property name="username" value="root"/>
  124. <property name="password" value="12345"/>
  125. </bean>
  126.  
  127.  
  128. <!-- Hibernate 5 SessionFactory Bean definition -->
  129. <bean id="hibernate5AnnotatedSessionFactory"
  130. class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
  131. <property name="dataSource" ref="dataSource"/>
  132. <property name="annotatedClasses">
  133. <list>
  134. <value>com.slandshow.model.Student</value>
  135. </list>
  136. </property>
  137. <property name="hibernateProperties">
  138. <props>
  139. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
  140. </prop>
  141. <prop key="hibernate.show_sql">true</prop>
  142. </props>
  143. </property>
  144. </bean>
  145.  
  146.  
  147. <!--BookDao and BookService beans-->
  148. <bean id="studentDao" class="com.slandshow.dao.StudentDaoImpl">
  149. <property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory"/>
  150. </bean>
  151.  
  152. <bean id="studentService" class="com.slandshow.service.StudentServiceImpl">
  153. <property name="studentDAO" ref="studentDao"/>
  154. </bean>
  155.  
  156. <context:component-scan base-package="com.slandshow"/>
  157.  
  158. <tx:annotation-driven transaction-manager="transactionManager"/>
  159.  
  160. <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
  161. <property name="sessionFactory" ref="hibernate5AnnotatedSessionFactory"/>
  162. </bean>
  163.  
  164. <mvc:default-servlet-handler/>
  165. <mvc:annotation-driven/>
  166.  
  167. </beans>
  168.  
  169. @Controller
  170. public class StudentController {
  171.  
  172. private final String STUDENT_LISTING_VIEW = "students";
  173. private final String STUDENT_REGISTRATION = "registration";
  174.  
  175. private StudentService studentService;
  176.  
  177. @Autowired(required = true)
  178. @Qualifier(value = "studentService")
  179. public void setBookService(StudentService studentService) {
  180. this.studentService = studentService;
  181. }
  182.  
  183.  
  184. @RequestMapping(value = {"/", "students"}, method = RequestMethod.GET)
  185. public String listBooks(Model model){
  186. model.addAttribute("students", this.studentService.listStudents());
  187.  
  188. return STUDENT_LISTING_VIEW;
  189. }
  190. ...
  191.  
  192. }
  193.  
  194. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  195. pageEncoding="ISO-8859-1"%>
  196. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  197. <html>
  198. <head>
  199. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  200. <title>List of Students</title>
  201.  
  202. <style>
  203. tr:first-child{
  204. font-weight: bold;
  205. background-color: #C6C9C4;
  206. }
  207. </style>
  208.  
  209. </head>
  210.  
  211.  
  212. <body>
  213. <h2>List of Students</h2>
  214. <table>
  215. <tr>
  216. <td>NAME</td><td>CLASS</td><td></td>
  217. </tr>
  218. <c:forEach items="${students}" var="student">
  219. <tr>
  220. <td>${student.name}</td>
  221. <td>${student.classNumber}</td>
  222. </tr>
  223. </c:forEach>
  224. </table>
  225. <br/>
  226. <a href="<c:url value='/add' />">Add New Student</a>
  227. </body>
  228. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement