上一节搭建好了Spring Boot项目,这一节来连接mysql数据库和使用restful api进行增删改查
连接数据库
pom文件加入mysql和jpa依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
application.yml 配置文件中加入数据库配置信息
修改配置文件
spring:
profiles:
active: dev
datasource:
driver-class-name: com.mysql.jdbc.Driver #mysql驱动
url: jdbc:mysql://localhost:3306/dbgirl?useSSL=true #mysql 高版本加useSSL=true/false 否者启动时有红色警告
username: root #用户名
password: 123456 #密码
jpa:
hibernate:
ddl-auto: update # update 项目重启不清空数据库,保留数据库信息
show-sql:true #打印sql语句
创建实体类
package com.imooc.pojo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
*
* Created by Administrator on 2018/1/18 0018.
*/
@Entity
public class Girl {
@Id
@GeneratedValue //自增
private Integer id;
private String cupSize;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCupSize() {
return cupSize;
}
public void setCupSize(String cupSize) {
this.cupSize = cupSize;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
创建dao
package com.imooc.dao;
import com.imooc.pojo.Girl;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
*
* Created by Administrator on 2018/1/21 0021.
*/
public interface GirlRep extends JpaRepository<Girl,Integer> {
/**
* 通过年龄来查询
* */
List<Girl> findByAge(Integer age);
}
创建控制层
package com.imooc.controller;
import com.imooc.dao.GirlRep;
import com.imooc.pojo.Girl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* Created by Administrator on 2018/1/21 0021.
*/
@RestController
public class GirlController {
@Autowired
private GirlRep girlRep;
/**
* 添加一个女生
* */
@PostMapping("/addGirl")
public Girl addGirl(Girl girl){
return girlRep.save(girl);
}
/**
* 查询所有女生列表
* */
@GetMapping("/listGirls")
public List<Girl> listGirls(){
return girlRep.findAll();
}
/**
* 查询指定id
* */
@GetMapping("/getGirl/{id}")
public Girl getGirl(@PathVariable("id") Integer id){
return girlRep.findOne(id);
}
/**
* 更新
* */
@PutMapping(value="/girls")
public Girl updateGirl(Girl girl){
return girlRep.save(girl);
}
/**
* 删除指定id
* */
@DeleteMapping("/girls/{id}")
public void deleteGirl(@PathVariable("id") Integer id){
girlRep.delete(id);
}
/**
* 查询年龄等于age的
* */
@GetMapping("/girls/{age}")
public List<Girl> getGirls(@PathVariable("age") Integer age){
return girlRep.findByAge(age);
}
}