下面是SpringBoot实现简单的增删改查的完整攻略。
1. 环境准备
在开始之前,需要找到一台安装了JDK1.8以上版本的电脑,并确保你已经熟练掌握了Java语言以及Spring Boot框架的基础知识。
首先,需要安装开发工具IDEA和Maven。
- 在IDEA官网下载并安装IntelliJ IDEA Community版本:https://www.jetbrains.com/idea/download/
- 在Apache Maven官网下载并安装最新的Maven版本:https://maven.apache.org/download.cgi
2. 创建项目
接下来,我们需要创建一个新的Maven项目。在IDEA中,点击File -> New -> Project -> Maven -> Next进行项目创建。
在弹出的框中输入groupId、artifactId、version等基本信息。其中,groupId和artifactId默认为项目名称,version默认为1.0-SNAPSHOT即可。
点击Next,选择项目的存储位置,接着点击Next选择需要添加的依赖。由于我们接下来会使用到Spring Web和MyBatis等框架,因此需要添加如下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- MySQL JDBC驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
<scope>runtime</scope>
</dependency>
</dependencies>
接着,点击Finish即可完成项目创建。
3. 创建实体类
在项目的src/main/java目录下创建一个名为com.example.demo.entity的包,用于存放实体类。
在这个包下创建一个名为User的实体类,用于存储用户的基本信息,代码如下:
public class User {
private Long id;
private String username;
private String password;
private String email;
//省略getter/setter方法
}
4. 创建Mapper接口
在项目的src/main/java目录下创建一个名为com.example.demo.mapper的包,用于存放Mapper接口。
在这个包下创建一个名为UserMapper的接口,用于操作用户表,代码如下:
@Mapper
public interface UserMapper {
List<User> findAll();
User findById(Long id);
void insert(User user);
void update(User user);
void deleteById(Long id);
}
需要注意的是,在UserMapper接口上加上Mapper注解,以告诉MyBatis这是一个Mapper接口。
接着,我们需要在项目的src/main/resources目录下创建一个名为mapper的文件夹,用于存放Mapper映射文件。
在这个文件夹下创建一个名为UserMapper.xml的文件,用于配置SQL语句。代码如下:
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="findAll" resultType="User">
SELECT * FROM user;
</select>
<select id="findById" parameterType="Long" resultType="User">
SELECT * FROM user WHERE id=#{id};
</select>
<insert id="insert" parameterType="User">
INSERT INTO user (username,password,email)
VALUES (#{username},#{password},#{email});
</insert>
<update id="update" parameterType="User">
UPDATE user SET username=#{username},password=#{password},email=#{email}
WHERE id=#{id};
</update>
<delete id="deleteById" parameterType="Long">
DELETE FROM user WHERE id=#{id};
</delete>
</mapper>
5. 创建Service和Controller
在项目的src/main/java目录下创建一个名为com.example.demo.service的包,用于存放Service接口。
在这个包下创建一个名为UserService的接口,用于定义UserService的方法,代码如下:
public interface UserService {
List<User> findAll();
User findById(Long id);
void insert(User user);
void update(User user);
void deleteById(Long id);
}
接着,在com.example.demo.service包下创建一个名为UserServiceImpl的类,用于实现UserService接口中方法的逻辑,代码如下:
@Service
public class UserServiceImpl implements UserService {
private final UserMapper userMapper;
@Autowired
public UserServiceImpl(UserMapper userMapper) {
this.userMapper = userMapper;
}
@Override
public List<User> findAll() {
return userMapper.findAll();
}
@Override
public User findById(Long id) {
return userMapper.findById(id);
}
@Override
public void insert(User user) {
userMapper.insert(user);
}
@Override
public void update(User user) {
userMapper.update(user);
}
@Override
public void deleteById(Long id) {
userMapper.deleteById(id);
}
}
需要注意的是,在UserServiceImpl类上加上Service注解,以告诉Spring这是一个Service类。
接着,在项目的src/main/java目录下创建一个名为com.example.demo.controller的包,用于存放Controller类。
在这个包下创建一个名为UserController的类,用于响应用户发送的HTTP请求,并调用Service层的方法返回数据,代码如下:
@RestController
@RequestMapping("/api/user")
public class UserController {
private final UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/")
public List<User> findAll() {
return userService.findAll();
}
@GetMapping("/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping("/")
public void insert(@RequestBody User user) {
userService.insert(user);
}
@PutMapping("/")
public void update(@RequestBody User user) {
userService.update(user);
}
@DeleteMapping("/{id}")
public void deleteById(@PathVariable Long id) {
userService.deleteById(id);
}
}
需要注意的是,在UserController类上加上RestController和RequestMapping注解,以告诉Spring这是一个Controller类,并指定请求的路径。
6. 运行程序
在完成以上步骤后,启动程序并访问http://localhost:8080/api/user/即可看到查询到的用户数据。在浏览器上调用不同的HTTP请求即可实现新增、修改、删除用户数据的功能。
示例1:
- 新增用户:POST请求,请求地址http://localhost:8080/api/user/,请求体为JSON格式的用户数据。
示例2:
- 修改用户:PUT请求,请求地址http://localhost:8080/api/user/,请求体为JSON格式的用户数据。
总结
至此,我们已经完成了一个简单的SpringBoot增删改查功能的实现。
在这个过程中,我们使用了Mybatis操作数据库,通过Mapper映射文件实现了依赖注入。同时,我们也了解了SpringBoot框架中Service和Controller的基本使用方式。希望本文能够对大家学习SpringBoot具有一定的辅助作用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot实现简单的增删改查 - Python技术站