基于注解的Spring MVC整合Hibernate(二)

2014-11-23 20:27:20 · 作者: · 浏览: 30
pping-3.0.dtd">










6、PersonDao

package cn.itcast.springmvc.dao;

import java.util.List;

import cn.itcast.springmvc.domain.Person;

public interface IPersonDao {
public Person findPersonById(String id);
public List findAllPerson();
public void savePerson(Person p);
public void deletePersonById(String id);
public void updatePerson(Person p);
}

7、PersonDaoImpl

package cn.itcast.springmvc.dao;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;

import cn.itcast.springmvc.domain.Person;

@Repository(value="personDao")
public class PersonDaoImpl implements IPersonDao {

@Resource(name="sessionFactory")
private SessionFactory sf;

public Person findPersonById(String id) {
return (Person) sf.getCurrentSession().createQuery("from Person where id = '" + id + "'").list().get(0);
}

public void savePerson(Person p) {
sf.getCurrentSession().save(p);
}

public void deletePersonById(String id) {
Person p = new Person();
p.setId(id);
//sf.getCurrentSession().delete(id, Person.class);
sf.getCurrentSession().delete(p);
}

public List findAllPerson() {
return sf.getCurrentSession().createQuery("from Person").list();
}

public void updatePerson(Person p) {
sf.getCurrentSession().update(p);
}

}

8、IPersonService

package cn.itcast.springmvc.service;

import java.util.List;

import cn.itcast.springmvc.domain.Person;

public interface IPersonService {
public Person findPersonById(String id);
public List findAllPerson();
public void savePerson(Person p);
public void deletePersonById(String id);
public void updatePerson(Person p);
}

9、PersonServiceImpl

package cn.itcast.springmvc.service;

import java.util.List;

import javax.annotation.Resource;

import cn.itcast.springmvc.dao.IPersonDao;
import cn.itcast.springmvc.domain.Person;

@org.springframework.stereotype.Service(value="personService")
public class PersonServiceImpl implements IPersonService {

@Resource(name="personDao")
private IPersonDao personDao;

public Person findPersonById(String id) {
return personDao.findPersonById(id);
}

public void savePerson(Person p) {
personDao.savePerson(p);
}

public void deletePersonById(String id) {
personDao.deletePersonById(id);
}

public List findAllPerson() {
return personDao.findAllPerson();
}

public void updatePerson(Person p) {
personDao.updatePerson(p);
}

}

10、PersonController

package cn.itcast.springmvc.controller;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.itcast.springmvc.domain.Person;
import cn.itcast.springmvc.service.IPersonService;

@Controller
@RequestMapping(value = "/person")
public class PersonController {

@Resource(name = "personService")
private IPersonService personService;

@RequestMapping(value = "/findPersonById")
public String findPersonById(String id) {
Person p = personService.findPersonById(id);
System.out.println(p);
return "showPerson";
}

@RequestMapping(value = "/savePersonUI")
public String savePersonUI() {
return "savePerson";
}

@RequestMapping(value = "/savePerson")