MYSQL-JAP-CRUD

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

[url]http://784838898.iteye.com/admin/blogs/2390284[/url]


项目启动后会老一套的正向生成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> {


}



[color=violet]这里的PersonRepository接口实现了JpaRepository接口;

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

说明:

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

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

PagingAndSortingRepository接口用于分页和排序

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

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


简单的增删改查在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
|
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值