1、jdbc的特点
- 速度快,相对于其它的ORM框架而言,JDBC是最快的
- 配置简单,
Spring
自家出品,必是精品,杠杠的- 学习成本低
2、添加依赖
在pom文件引入spring-boot-starter-jdbc的依赖
<!-- Spring JDBC 的依赖包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
3、application.yml 配置
在application.yml 文件配置数据库相关信息,至于创建数据库就不写了
server:
prot: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: mysql://localhost:3306/wzp
username: root
password: root
4、创建实体类
package com.example.demo;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* 使用 @Setter @Getter 两个注解可以不用手写get和set方法
*/
@Setter
@Getter
public class User implements Serializable {
private static final long serialVersionUID = 5123020951483359287L;
private Integer id;
private String username;
private String password;
}
5、具体接口
我这里是直接简写了,没有使用postman什么的测,直接用浏览器了,所以仅供参考,不提倡
package com.example.demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class UserController {
private final JdbcTemplate jdbcTemplate;
@Autowired
public UserController(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
/**
* 新增用户
* @return
*/
@GetMapping("save")
public User save() {
User user = new User();
user.setUsername("wzp");
user.setPassword("123456");
String sql = "insert into user(username, password) values(?, ?)";
jdbcTemplate.update(sql, user.getUsername(), user.getPassword());
return user;
}
/**
* 根据id删除用户
* @return
*/
@GetMapping("delete")
public String delete() {
Integer id = 1;
String sql = "DELETE FROM user WHERE id = ?";
jdbcTemplate.update(sql, id);
return "success";
}
/**
* 根据id修改用户
* @return
*/
@GetMapping("update")
public User update() {
User user = new User();
user.setId(1);
user.setUsername("wzpwzp");
user.setPassword("123456");
String sql = "UPDATE user SET username = ? ,password = ? WHERE id = ?";
jdbcTemplate.update(sql, user.getUsername(), user.getPassword(), user.getId());
return user;
}
/**
* 查询所有用户
* @return
*/
@GetMapping("findAll")
public List<User> findAll() {
String sql = "select * from user";
List<User> list = jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<>(User.class));
return list;
}
}
6、测试结果
7、结语
按照惯例写个结语,嗯...看了很多大佬的教程,结合我自己的总结了一波,当然了,不足之处请多包涵,也请多指教...如有雷同,也请多包涵......