下面我来详细讲解“教你用springboot连接mysql并实现增删改查”的完整攻略。
本攻略将介绍如何用Spring Boot连接Mysql数据库,并实现常见的增删改查操作。首先,你需要搭建Spring Boot环境,并对Mysql数据库进行简单的配置。随后,通过使用Spring Boot的开发架构进行编写代码,最终实现对Mysql数据库的增删改查操作。
首先,你需要在你的开发环境中安装Java和Mysql,并且配置好环境变量。接下来,按照以下步骤进行Spring Boot工程的创建和环境搭建:
选择你最熟悉的IDE,在其中创建一个Spring Boot项目。项目名为springboot-mysql,建议使用Maven环境。
在项目中打开pom.xml文件,将以下依赖添加到
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
在项目的src/main/resources目录下,创建一个新的application.properties文件,添加以下代码:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
其中,test为Mysql的数据库名,root为数据库用户,root为该用户的密码。
至此,你已经完成了Spring Boot的环境搭建。
在编写实体类和DAO层之前,需要先安装Lombok插件,以方便编写代码。
在src/main/java/com/example/demo/entity目录下,创建一个新的实体类,命名为User:
package com.example.demo.entity;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import javax.persistence.*;
@Entity
@Getter
@Setter
@Accessors(chain = true)
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
}
在这个实体类中,使用注解进行表的映射,其中@Getter和@Setter注解来自于Lombok插件,让我们省去了大量的getter和setter代码。
在src/main/java/com/example/demo/dao目录下,创建一个新的DAO层接口,命名为UserDao:
package com.example.demo.dao;
import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserDao extends JpaRepository<User, Long> {
}
在这个接口中,使用继承自JpaRepository的方法可以让我们轻松实现对Mysql的增删改查操作。
在src/main/java/com/example/demo/service目录下,创建一个新的Service层接口,命名为UserService:
package com.example.demo.service;
import com.example.demo.entity.User;
public interface UserService {
User save(User user);
void delete(Long id);
User update(User user);
User findById(Long id);
}
在该接口中,定义了对Mysql的增删改查方法。
在src/main/java/com/example/demo/controller目录下,创建一个新的Controller层接口,命名为UserController:
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("")
public User save(User user) {
return userService.save(user);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable("id") Long id) {
userService.delete(id);
}
@PutMapping("")
public User update(User user) {
return userService.update(user);
}
@GetMapping("/{id}")
public User findById(@PathVariable("id") Long id) {
return userService.findById(id);
}
}
在该Controller层中,使用注解标注来自于UserService的方法,实现对Mysql的增删改查操作。
在你的开发环境中运行这个Spring Boot应用程序,并通过postman或者浏览器等工具进行测试。下面是两条示例说明:
请求地址:localhost:8080/user/1
请求方式:GET
返回结果:
{
"id": 1,
"name": "lzj",
"age": 22
}
请求地址:localhost:8080/user/1
请求方式:DELETE
返回结果:空
至此,你已经成功实现了Spring Boot与Mysql的连接并实现了增删改查操作。