ORM — Example 1 SPRING MVC + ORM.

Скачать презентацию ORM — Example 1 SPRING MVC + ORM. Скачать презентацию ORM — Example 1 SPRING MVC + ORM.

15____iv_511_ex_contactspringmvchibxml_ann_2.ppt

  • Количество слайдов: 26

>ORM - Example 1 SPRING MVC + ORM. Приклад ORM - Example 1 SPRING MVC + ORM. Приклад

>ORM - Example 2 Повний приклад на використання анотацій ПКМ ORM - Example 2 Повний приклад на використання анотацій ПКМ

" src="https://present5.com/customparser/40809602_437839981 --- 15____iv_511_ex_contactspringmvchibxml_ann_2.ppt/slide_3.jpg" alt=">ORM - Example 3 pom.xml (1/4) " /> ORM - Example 3 pom.xml (1/4) 4.0.0 com.ttp ContactSpringMvcHibXML_Ann ContactSpringMvcHibXML_Ann war 1.0.0-BUILD-SNAPSHOT 1.7 4.0.3.RELEASE

>ORM - Example 4 pom.xml (2/4) <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework-version}</version> </dependency> ORM - Example 4 pom.xml (2/4) org.springframework spring-context ${org.springframework-version} org.springframework spring-webmvc ${org.springframework-version} org.springframework spring-orm ${org.springframework-version} jar compile

>ORM - Example 5 pom.xml (3/4) <!-- Hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency> ORM - Example 5 pom.xml (3/4) org.hibernate hibernate-core 4.3.5.Final javax.servlet javax.servlet-api 3.1.0 provided javax.servlet.jsp javax.servlet.jsp-api 2.3.1 provided

>ORM - Example 6 pom.xml (4/4) <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Apache Database ORM - Example 6 pom.xml (4/4) jstl jstl 1.2 org.apache.commons commons-dbcp2 2.0 mysql mysql-connector-java 5.1.30

>ORM - Example 7 Клас Contact package com.ttp.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; 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 ORM - Example 8 Клас ContactDAO package com.ttp.spring.dao; import java.util.List; import com.ttp.spring.model.Contact; public interface ContactDAO { public List list(); public Contact get(int id); public void saveOrUpdate(Contact contact); public void delete(int id); }

>ORM - Example 9 Клас ContactDAOImpl (1/3) package com.ttp.spring.dao; import java.util.List; import org.hibernate.SessionFactory; import 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 list() { List listcontact = (List)sessionFactory .getCurrentSession().createCriteria(Contact.class).list(); return listcontact; }

>ORM - Example 10 Клас ContactDAOImpl (2/3) @Override @Transactional public void saveOrUpdate(Contact contact) { 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) { 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 listcontact = (List) query.list(); if (listcontact != null && !listcontact.isEmpty()) { return listcontact.get(0); } return null; } }

>ORM - Example 12 Файл hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC ORM - Example 12 Файл hibernate.cfg.xml org.hibernate.dialect.MySQLDialect true create

ORM - Example 13 Файл web.xml springweb org.springframework.web.servlet.DispatcherServlet 1 springweb /

ORM - Example 14 Файл springweb-servlet.xml (1/3)

>ORM - Example 15 Файл springweb-servlet.xml (2/3) <!-- Resolves views selected for rendering by ORM - Example 15 Файл springweb-servlet.xml (2/3)

ORM - Example 16 Файл springweb-servlet.xml (3/3)

>ORM - Example 17 Клас HomeController (1/2) package com.ttp.spring; import java.util.List; import javax.servlet.http.HttpServletRequest; import 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 listcontacts = contactDao.list(); ModelAndView model = new ModelAndView("contList"); model.addObject("contactList", listcontacts); return model; }

>ORM - Example 18 Клас HomeController (2/2) @RequestMapping(value = 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" %> Home

Contact List

${contact.name} ${contact.addr} Edit      Delete

New Contact

ORM - Example 20 contList.jsp (2/2)

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" /> ORM - Example 21 contForm.jsp (2/2) @RequestMapping("/") public ModelAndView handleRequest() throws Exception { List listcontacts = contactDao.list(); ModelAndView model = new ModelAndView("contList"); model.addObject("contactList", listcontacts); return model; } HomeController.java (фрагмент)

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 or Edit Contact

New/Edit Contact

...
Див. наступний слайд

Name:" src="https://present5.com/customparser/40809602_437839981 --- 15____iv_511_ex_contactspringmvchibxml_ann_2.ppt/slide_23.jpg" alt=">ORM - Example 23 contForm.jsp (2/2) Name:" /> ORM - Example 23 contForm.jsp (2/2) Name: Addr: @RequestMapping(value = "/save", method = RequestMethod.POST) public ModelAndView savecontact(@ModelAttribute Contact contact) { contactDao.saveOrUpdate(contact); return new ModelAndView("redirect:/"); } HomeController.java (фрагмент)

>ORM - Example 24 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 = 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 = 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 (фрагмент)