MYSQL-JAP-CRUD

简单的CRUD
确保配置好mysql-conntor 和 jpa 的依赖。
并在本地创建对应数据库!

http://784838898.iteye.com/admin/blogs/2390284


项目启动后会老一套的正向生成DB TABLE。

Step 1:

     创建用于测试CRUD的JAVA-BEAN  [Person] ,
           随便写几个Field 添加 G+S Method 及无参Constructor.

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Person {

	@Id
	@GeneratedValue
	private Integer id;
	private String nickName;
	private String gender;
	
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNickName() {
		return nickName;
	}
	public void setNickName(String nickName) {
		this.nickName = nickName;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public Person() {
		 
	}
	
}


需标注@Entity
@Id
@GeneratedValue
此处代表PrimaryKey自增长序列


-------------------------------------------------------------------------------

添加数据持久化接口类
[PersonRepository.java]

import org.springframework.data.jpa.repository.JpaRepository;

import com.demo.bean.Person;

public interface PersonRepository extends JpaRepository<Person,Integer> {

	
}





这里的PersonRepository接口实现了JpaRepository接口;

实际上JpaRepository实现了PagingAndSortingRepository接口,PagingAndSortingRepository接口实现了CrudRepository接口,CrudRepository接口实现了Repository接口;

说明:

Repository接口是一个标识接口,里面是空的

CrudRepository接口定义了增删改查方法

PagingAndSortingRepository接口用于分页和排序

由于JpaRepository接口继承了以上所有接口,所以拥有它们声明的所有方法

以findAll方法为例,JpaRepository接口返回的是List, PagingAndSortingRepository和CrudRepository返回的是迭代器!








简单的增删改查在Controller中如下

        @Autowired
	private PersonRepository personRepository ;
	
	/**
	 * findAll
	 *  
	 */
	@GetMapping(value = "/persons")
	public List<Person> personList(){
		 
		return personRepository.findAll();
	}
	/**
	 * findOne
	 *  
	 */
	@GetMapping(value = "/persons")
	public Person personById(){
		return personRepository.findOne(1);
	}
	
	/**
	 * Add Person / Update Person IF PK EXSITS
	 * @param name
	 * 
	 */
	@GetMapping(value = "/personAdd")
	public Person addPerson(@RequestParam("name") String name){
		
		Person person = new Person();
		person.setName(name);
		
		return personRepository.save(person);
	}
	
	@GetMapping(value = "/personRemove")
	public String removePerson(@RequestParam("id") String id){
		personRepository.delete(Integer.parseInt(id));
		return "success";
	}





家里尽量模块化规范。



  +- PorjectRoot
    
     +- domain
     |  +- Person.java
     |
     +- service
       +-impl
     |  +- PersonService.java     
     | +- PersonRepository.java
     +- web
     |  +- PersonController.java
     |



猜你喜欢

转载自784838898.iteye.com/blog/2390294