创建Person类`
与数据库相对
可加上一些提示信息,添加时如不安要求发出提醒
package com.example.kini.po;
import javax.persistence.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
@Entity
@Table(name="t_person")
public class Person {
@Id
@GeneratedValue
private Integer id;
@NotEmpty(message="名字不能为空")
@Column(length=30)
private String name;
@Min(value=16,message="年龄应大于16岁")
@Column(length=30)
private String age;
@Max(value=12,message="号码小于12")
@Column(length=50)
private String number;
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age='" + age + '\'' +
", number='" + number + '\'' +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
创建PersonDao
继承 Repository类
数据库一些简单的操作方法:如save,可直接调用
package com.example.kini.dao;
import com.example.kini.po.Person;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface PersonDao extends Repository<Person,Integer> {
void save(Person person);
@Query("select all from t_person ")
@Transactional(readOnly = true)
List<Person> findAll();
}
创建控制层
判断传入的数据,如符合则处理,否则则报出相应错误信息
package com.example.kini.controller;
import com.example.kini.dao.PersonDao;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.kini.po.Person;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/person")
public class PersonController {
@Resource
private PersonDao personDao;
@RequestMapping("/add")
public String add(@Valid Person person, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return bindingResult.getFieldError().getDefaultMessage();
} else {
personDao.save(person);
return "添加人物信息成功";
}
}
@RequestMapping("/query")
public String Query(Model model){
List list =personDao.findAll();
model.addAttribute("q",list);
return "query";
}
}
配置
spring.profiles.active=dev
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/person
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true