Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Boot-使用MySql访问构建RESTful Web服务_Spring_Rest_Api_Spring Boot - Fatal编程技术网

Spring Boot-使用MySql访问构建RESTful Web服务

Spring Boot-使用MySql访问构建RESTful Web服务,spring,rest,api,spring-boot,Spring,Rest,Api,Spring Boot,我向RESTAPI发送一个请求,将一个对象存储到mysql数据库中 缺少哪一步,我可以通过Jpa将对象存储到数据库中 这是Rest控制器 服务器响应 代码中有什么错误,数据不能存储在数据库中 最重要的是,Mux默认情况下Spring运行内存中的数据库-H2,因此您的项目仅在应用程序运行时存在。 要持久保存数据,需要将应用程序配置为使用其他数据库 要查询H2,还可以使用 例如,如果您想要配置MySQL,您应该在application.properties文件中添加以下配置选项 如果您正在使用app

我向RESTAPI发送一个请求,将一个对象存储到mysql数据库中

缺少哪一步,我可以通过Jpa将对象存储到数据库中

这是Rest控制器

服务器响应

代码中有什么错误,数据不能存储在数据库中

最重要的是,Mux默认情况下Spring运行内存中的数据库-H2,因此您的项目仅在应用程序运行时存在。 要持久保存数据,需要将应用程序配置为使用其他数据库

要查询H2,还可以使用

例如,如果您想要配置MySQL,您应该在application.properties文件中添加以下配置选项

如果您正在使用application.yml


这些对象在运行时环境中本地存储,但不存储在数据库中。因此,您的问题是:是否可以将数据存储在内存中?是的,当然是。这可能不是一个好主意,您需要使其线程安全,但确实是可能的。我可以解决这个问题,将这些条目放在application.properties文件中:spring.datasource.url=jdbc:mysql://anyurltodatabse spring.datasource.username=user spring.datasource.password=pwd spring.datasource.driver类名=com.mysql.cj.jdbc.driver
@RestController
public class OwnerRestController {
    @Autowired
    private final OwnerRestRepository repo;

    public OwnerRestController(OwnerRestRepository repo) {this.repo = repo;}

    @RequestMapping(value="/owner/add", method=RequestMethod.POST)
    public Owner create(@RequestBody Map<String, String> body){
        Owner o = new Owner();
        o.setFirstName(body.get("firstName"));
        o.setLastName(body.get("lastName"));
        o.setAddress(body.get("address"));
        o.setCity(body.get("city"));
        o.setTelephone(body.get("telephone"));
        this.repo.save(o);
        return o;
    }
}
public interface OwnerRestRepository extends CrudRepository<Owner,integer>{}
{
    "firstName":"fname",
    "lastName":"lname",
    "address":"address1",
    "city":"city1",
    "telephone":"4711"
}
{
    "id": 11,
    "firstName": "fname",
    "lastName": "lname",
    "address": "address1",
    "city": "city1",
    "telephone": "4711"
}
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost/test
    username: dbuser
    password: dbpass