Spring+SpringMVC+Spring Data JPA完美整合
使用Maven实现SSS框架的整合。
方便记录,专门建了一个pom项目用来整合SSS框架所用的jar包
1、POM项目,作为父级项目,记录整个整合中的依赖jar包
pom文件
2、创建整合的war项目继承刚刚创建的POM项目
pom文件:
接下来开始代码的编写:
3、domain层
@Entity
@Table(name="tb_student")
@NamedQuery(name="Student.querys",query="select s from Student s")
public class Student {
//@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//日期格式化
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(length=50)
private String name;
@Column(length=2)
private String sex;
//@Basic
//@Transient只是属性不是字段
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4、dao层
Spring Data JPA最大的改变就是dao层,只需定义接口即可,记住要继承指定的接口
public interface StudentDao extends JpaRepository
Student findById(int id);
Student findByIdAndName(int id,String name);
}
5、service层
public interface StudentService {
boolean save(Student stu);
List
Student querySingle(int id);
}
@Service
public class StudentServiceImple implements StudentService{
@Autowired
private StudentDao dao;
@Override
public boolean save(Student stu) {
// TODO Auto-generated method stub
System.out.println("---->"+dao.getClass().getName());
//有主键就修改,没有主键就新增
//System.out.println(1/0);
return dao.save(stu)!=null?true:false;
}
@Override
public List
// TODO Auto-generated method stub
//System.out.println("数量:"+dao.count());
return dao.findAll();
}
@Override
public Student querySingle(int id) {
// TODO Auto-generated method stub
return dao.findById(id);
}
}
6、控制器层:
@Controller
public class StudentController {
@Autowired
private StudentService service;
@RequestMapping("/{jn}")
public String pre(@PathVariable String jn) {
return jn;
}
@RequestMapping("/save")
public void test1(Student stu) {
if (stu!=null &&stu.getName()!=null &&stu.getName().length()>0 ) {
stu.setId(2);
System.out.println("控制器:新增:" + service.save(stu));
}
}
@RequestMapping("/queryall")
public void test2(Model m) {
System.out.println("控制器:查询全部");
if (!m.containsAttribute("list")) {
m.addAttribute("list", service.queryAll());
}
}
@RequestMapping("/querysingle")
public String test3(int id, Model m) {
System.out.println("控制器:查询单个");
List
list.add(service.querySingle(id));
m.addAttribute("list", list);
return "queryall";
}
}
7、页面,都是jsp页面
新增数据页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
查询所有学生
查询数据页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
刷新数据
添加学生
| ${s.id } | ${s.name } | ${s.sex } | ${s.age } |
8、数据库连接信息的配置文件persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
9、Spring的配置文件applicationContext.xml
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
10、SpringMVC的配置文件springMVC.xml
<?xml version="1.0" encoding="UTF-8"?>
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
11、web.xml的配置信息
<?xml version="1.0" encoding="UTF-8"?>
ok,发布到Tomcat即可进行操作