ORM — Example 1 SPRING MVC + ORM.



















15____iv_511_ex_contactspringmvchibxml_ann_2.ppt
- Количество слайдов: 26
ORM - Example 1 SPRING MVC + ORM. Приклад
ORM - Example 2 Повний приклад на використання анотацій ПКМ
ORM - Example 4 pom.xml (2/4)
ORM - Example 5 pom.xml (3/4)
ORM - Example 6 pom.xml (4/4)
ORM - Example 7 Клас Contact package com.ttp.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "TB_CONTACTS") public class Contact { @Id @Column(name = "CONTACT_ID") @GeneratedValue private int id; @Column(name = "NAME") private String name; @Column(name = "ADDR") private String addr; . . . // get-, set- }
ORM - Example 8 Клас ContactDAO package com.ttp.spring.dao; import java.util.List; import com.ttp.spring.model.Contact; public interface ContactDAO { public List
ORM - Example 9 Клас ContactDAOImpl (1/3) package com.ttp.spring.dao; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.transaction.annotation.Transactional; import com.ttp.spring.model.Contact; import org.hibernate.Query; public class ContactDAOImpl implements ContactDAO { private SessionFactory sessionFactory; public ContactDAOImpl(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @Override @Transactional public List
ORM - Example 10 Клас ContactDAOImpl (2/3) @Override @Transactional public void saveOrUpdate(Contact contact) { sessionFactory.getCurrentSession().saveOrUpdate(contact); } @Override @Transactional public void delete(int id) { Contact contactToDelete = new Contact(); contactToDelete.setId(id); sessionFactory.getCurrentSession().delete(contactToDelete); }
ORM - Example 11 Клас ContactDAOImpl (3/3) @Override @Transactional public Contact get(int id) { String str_query = "from Contact where id=" + id; Query query = sessionFactory.getCurrentSession() .createQuery(str_query); List
ORM - Example 12 Файл hibernate.cfg.xml
ORM - Example 15 Файл springweb-servlet.xml (2/3)
ORM - Example 17 Клас HomeController (1/2) package com.ttp.spring; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.ttp.spring.dao.ContactDAO; import com.ttp.spring.model.Contact; @Controller public class HomeController { @Autowired private ContactDAO contactDao; @RequestMapping("/") public ModelAndView handleRequest() throws Exception { List
ORM - Example 18 Клас HomeController (2/2) @RequestMapping(value = "/new", method = RequestMethod.GET) public ModelAndView newcontact() { ModelAndView model = new ModelAndView("contForm"); model.addObject("contact", new Contact()); return model; } @RequestMapping(value = "/edit", method = RequestMethod.GET) public ModelAndView editcontact(HttpServletRequest request) { int contactId = Integer.parseInt(request.getParameter("id")); Contact contact = contactDao.get(contactId); ModelAndView model = new ModelAndView("contForm"); model.addObject("contact", contact); return model; } @RequestMapping(value = "/delete", method = RequestMethod.GET) public ModelAndView deletecontact(HttpServletRequest request) { int contactId = Integer.parseInt(request.getParameter("id")); contactDao.delete(contactId); return new ModelAndView("redirect:/"); } @RequestMapping(value = "/save", method = RequestMethod.POST) public ModelAndView savecontact(@ModelAttribute Contact contact) { contactDao.saveOrUpdate(contact); return new ModelAndView("redirect:/"); } }
ORM - Example 19 contList.jsp (1/2) <%@page contentType="text/html" pageEncoding="UTF-8"%>
ORM - Example 19 contList.jsp (1/2) <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Contact List
${contact.name} | ${contact.addr} | Edit Delete |
New Contact
Фрагмент" src="https://present5.com/customparser/40809602_437839981 --- 15____iv_511_ex_contactspringmvchibxml_ann_2.ppt/slide_21.jpg" alt=">ORM - Example 21 contForm.jsp (2/2) @RequestMapping("/") public ModelAndView handleRequest() throws Exception { List
Contact List
${contact.name} ${contact.addr} Edit Delete New Contact
contList.jsp (фрагмент)
ORM - Example 22 contForm.jsp (1/2) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
ORM - Example 22 contForm.jsp (1/2) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
New/Edit Contact
ORM - Example 24
ORM - Example 25 http://localhost:8080/spring/edit?id=1 http://localhost:8080/spring/delete?id=1 http://localhost:8080/spring/edit?id=2 http://localhost:8080/spring/delete?id=2 http://localhost:8080/spring/new http://localhost:8080/spring/save @RequestMapping(value = "/new", method = RequestMethod.GET) public ModelAndView newcontact() { ModelAndView model = new ModelAndView("contForm"); model.addObject("contact", new Contact()); return model; } HomeController.java (фрагмент)
ORM - Example 26 http://localhost:8080/spring/delete?id=2 @RequestMapping(value = "/delete", method = RequestMethod.GET) public ModelAndView deletecontact(HttpServletRequest request) { int contactId = Integer.parseInt(request.getParameter("id")); contactDao.delete(contactId); return new ModelAndView("redirect:/"); } HomeController.java (фрагмент)