如何创建将数据存储到mysql数据库的angularjs springboot应用程序。用json

时间:2015-09-16 10:05:30

标签: mysql json angularjs spring hibernate

我有点坚持这个话题。

这是我已经发现的。 一个很好的教程是:

通过Spring Data JPA和Hibernate在Spring Boot中使用MySQL http://blog.netgloo.com/2014/10/27/using-mysql-in-spring-boot-via-spring-data-jpa-and-hibernate/

我还找到了一些如何使用hsqldb进行单页应用的信息。 但我真的想创建一些使用mysql永久性地将用户数据保存到数据库的东西。

但是为了使用角度http我需要json。我可以转换像

这样的网址

/创建电子邮件= [电子邮件]&安培;名称= [名称]

对于json我该怎么办?有没有人知道这方面的好教程。或者有更好的方法可以继续。

2 个答案:

答案 0 :(得分:0)

如果你已经设法将它与HSQLDB一起使用,那就是数据库属性(如JDBC URL)和模式初始化的问题。

您能提供控制器的代码示例,如何保存数据(通过存储库或简单的DAO?)和application.properties

答案 1 :(得分:0)

使用Spring Boot使用JSON的最简单/最方便的方法是使用类似于JSON(https://stackoverflow.com/a/6019761)的Java类。

因此,您可以关注您链接的tutorial,然后使用像这样的控制器来处理JSON:

@RestController
public class UserController {

  @RequestMapping(
      value = "/user/create",
      method = RequestMethod.POST,
      consumes = MediaType.APPLICATION_JSON_VALUE)
  public ResponseEntity<?> createUser(@RequestBody User user) {

    try {
      // Handle the User object here
      userDao.save(user);
    }
    catch (Exception ex) {
      return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }

    return new ResponseEntity<>(HttpStatus.OK);
  }  

  // ...

}

接收这样的JSON(在网址/user/create):

{email: "john@doe.com", name: "John Doe"}

用户将保存在您的数据库中。

以JSON回复

此外,如果您想从控制器发送一个JSON响应,您应该创建一个java对象,然后在ResponseEntity对象中将其作为响应发回。

例如,假设有这个类:

public class SuccessDto {

  private String success;

  public SuccessDto(String success) {
    this.success = success;
  }

}

您可以通过以下方式更改控制器:

public ResponseEntity<SuccessDto> createUser(@RequestBody User user) {

  // ...

  return new ResponseEntity<>(
    new SuccessDto("true"),
    HttpStatus.OK
  );
}

您将获得此JSON作为回复

{success: "true"}