15____IV_511_Ex_ContactSpringMvcHibXML_Ann_2.ppt
- Количество слайдов: 26
SPRING MVC + ORM. Приклад ORM - Example
Повний приклад на використання анотацій ПКМ ORM - Example
pom. xml (2/4)
pom. xml (3/4)
pom. xml (4/4)
Клас Contact package com. ttp. spring. model; import javax. persistence. Column; import javax. persistence. Entity; import javax. persistence. Generated. Value; import javax. persistence. Id; import javax. persistence. Table; @Entity @Table(name = "TB_CONTACTS") public class Contact { @Id @Column(name = "CONTACT_ID") @Generated. Value private int id; @Column(name = "NAME") private String name; @Column(name = "ADDR") private String addr; ORM - Example. . . // get-, set}
Клас Contact. DAO package com. ttp. spring. dao; import java. util. List; import com. ttp. spring. model. Contact; public interface Contact. DAO { public List
Клас Contact. DAOImpl (1/3) package com. ttp. spring. dao; import java. util. List; import org. hibernate. Session. Factory; import org. springframework. transaction. annotation. Transactional; import com. ttp. spring. model. Contact; import org. hibernate. Query; public class Contact. DAOImpl implements Contact. DAO { private Session. Factory session. Factory; public Contact. DAOImpl(Session. Factory session. Factory) { this. session. Factory = session. Factory; } @Override @Transactional public List
Клас Contact. DAOImpl (2/3) @Override @Transactional public void save. Or. Update(Contact contact) { session. Factory. get. Current. Session(). save. Or. Update(contact); } @Override @Transactional public void delete(int id) { Contact contact. To. Delete = new Contact(); contact. To. Delete. set. Id(id); session. Factory. get. Current. Session(). delete(contact. To. Delete); } ORM - Example
Клас Contact. DAOImpl (3/3) @Override @Transactional public Contact get(int id) { String str_query = "from Contact where id=" + id; Query query = session. Factory. get. Current. Session(). create. Query(str_query); List
Файл hibernate. cfg. xml xml version='1. 0' encoding='utf-8'? >
Файл springweb-servlet. xml (2/3)
Клас Home. Controller (1/2) package com. ttp. spring; import java. util. List; import javax. servlet. http. Http. Servlet. Request; import org. springframework. beans. factory. annotation. Autowired; import org. springframework. stereotype. Controller; import org. springframework. web. bind. annotation. Model. Attribute; import org. springframework. web. bind. annotation. Request. Mapping; import org. springframework. web. bind. annotation. Request. Method; import org. springframework. web. servlet. Model. And. View; import com. ttp. spring. dao. Contact. DAO; import com. ttp. spring. model. Contact; @Controller public class Home. Controller { @Autowired private Contact. DAO contact. Dao; @Request. Mapping("/") public Model. And. View handle. Request() throws Exception { List
Клас Home. Controller (2/2) } @Request. Mapping(value = "/new", method = Request. Method. GET) public Model. And. View newcontact() { Model. And. View model = new Model. And. View("cont. Form"); model. add. Object("contact", new Contact()); return model; } @Request. Mapping(value = "/edit", method = Request. Method. GET) public Model. And. View editcontact(Http. Servlet. Request request) { int contact. Id = Integer. parse. Int(request. get. Parameter("id")); Contact contact = contact. Dao. get(contact. Id); Model. And. View model = new Model. And. View("cont. Form"); model. add. Object("contact", contact); return model; } @Request. Mapping(value = "/delete", method = Request. Method. GET) public Model. And. View deletecontact(Http. Servlet. Request request) { int contact. Id = Integer. parse. Int(request. get. Parameter("id")); contact. Dao. delete(contact. Id); return new Model. And. View("redirect: /"); } @Request. Mapping(value = "/save", method = Request. Method. POST) public Model. And. View savecontact(@Model. Attribute Contact contact) { contact. Dao. save. Or. Update(contact); return new Model. And. View("redirect: /"); ORM - Example }
cont. List. jsp (1/2) <%@page content. Type="text/html" page. Encoding="UTF-8"%> <%@ taglib uri="http: //java. sun. com/jsp/jstl/core" prefix="c" %>
cont. List. jsp (2/2)
| ${contact. name} | ${contact. addr} | ФрагментEdit Delete |
@Request. Mapping("/") public Model. And. View handle. Request() throws (2/2) cont. Form. jsp Exception { List
${contact. name} ${contact. addr} Edit Delete
cont. Form. jsp (1/2) <%@ page language="java" content. Type="text/html; charset=UTF-8" page. Encoding="UTF-8"%> <%@ taglib prefix="form" uri="http: //www. springframework. org/tags/form"%>
ORM - Example
http: //localhost: 8080/spring/edit? id=1 http: //localhost: 8080/spring/delete? id=2 http: //localhost: 8080/spring/edit? id=2 http: //localhost: 8080/spring/new @Request. Mapping(value = "/new", method = Request. Method. GET) public Model. And. View newcontact() { Model. And. View model = new Model. And. View("cont. Form"); model. add. Object("contact", new Contact()); return model; Home. Controller. java (фрагмент) } ORM - Example http: //localhost: 8080/spring/save
http: //localhost: 8080/spring/delete? id=2 @Request. Mapping(value = "/delete", method = Request. Method. GET) public Model. And. View deletecontact(Http. Servlet. Request request) { int contact. Id = Integer. parse. Int(request. get. Parameter("id")); contact. Dao. delete(contact. Id); return new Model. And. View("redirect: /"); } Home. Controller. java (фрагмент) ORM - Example



