Spring Boot 添加MySQL数据库及JPA实例

时间:2022-09-24 21:28:51

最近在学习Spring Boot,继续前面的学习,这一次我们加入MySQL数据库和JPA

配置:

pom.xml文件

?
1
2
3
4
5
6
7
8
9
<!-- 添加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.properties(在resource文件夹下新建,进行配置)文件中添加数据进行配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
spring.datasource.url = jdbc:mysql://localhost:3306/spring_boot
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
 
 
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
 
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

User类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.seawater.bean;
 
import javax.persistence.*;
import javax.validation.constraints.NotNull;
 
/**
 * Created by zhouhs on 2016/12/30.
 */
@Entity
@Table(name = "user")
public class User {
 
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 private Long id;
 private String name;
 private int age;
 
 public Long getId() {
  return id;
 }
 
 public void setId(Long id) {
  this.id = id;
 }
 
 public String getName() {
  return name;
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public int getAge() {
  return age;
 }
 
 public void setAge(int age) {
  this.age = age;
 }
}

UserController

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.seawater.controller;
import com.seawater.Dao.UserDao;
import com.seawater.bean.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import javax.annotation.Resource;
 
/**
 * Created by zhouhs on 2016/12/30.
 */
@RestController
@RequestMapping(value = "/user")
@Api(description = "用户")
public class UserController {
 
 @Resource
 UserDao userDAO;
 @ApiOperation(value = "添加用户")
 @ApiImplicitParams({
   @ApiImplicitParam(name = "name" , value = "name" , paramType = "query" , required = true ),
   @ApiImplicitParam(name = "age" , value = "age" , paramType = "query" , required = true )
 })
 @RequestMapping(value = "/addUser" , method = RequestMethod.POST)
 public String addUser(@RequestParam(value = "name") String name,@RequestParam(value = "age") int age){
 
  User user = new User();
  user.setName(name);
  user.setAge(age);
 
  userDAO.save(user);
 
  return "add user success !";
 }
 
 @ApiOperation(value = "查找用户")
 @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
 @RequestMapping(value = "/findById" , method = RequestMethod.POST)
 public String findById(@RequestParam(value = "id") Long id){
 
  User user = userDAO.findById(id);
 
  if(user == null){
   return "error";
  }else{
   return "name:" + user.getName() + " , age:" + user.getAge();
  }
 }
 
 @ApiOperation(value = "查询所有用户")
 @RequestMapping(value = "/findAll" , method = RequestMethod.POST)
 public Iterable findAll(){
 
  Iterable<User> userList = userDAO.findAll();
 
  return userList;
 
 }
 
 @ApiOperation(value = "删除用户")
 @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
 @RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
 public String deleteById(@RequestParam(value = "id") Long id){
 
  userDAO.delete(id);
  return "delete success !";
 
 }
}

数据表(id定义为Integer):

Spring Boot 添加MySQL数据库及JPA实例

UserDao:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.seawater.Dao;
 
import com.seawater.bean.User;
import org.springframework.data.repository.CrudRepository;
 
/**
 * Created by zhouhs on 2016/12/30.
 */
public interface UserDao extends CrudRepository<User, Long> {
 
 public User findById(Long id);
 
}

然后启动项目:访问http://localhost:8081/swagger-ui.html

结果:

Spring Boot 添加MySQL数据库及JPA实例

方法我就不一一操作了。

源码地址(项目中的源码可能会更多哦,需要自己找到对应源码):SpringBootLearning.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/zhouseawater/article/details/53945073