springbot jdbc 实体类入库
时间: 2025-01-06 07:34:15 浏览: 2
### 使用 Spring Boot 和 JDBC 将实体类数据保存到数据库
为了实现将实体类的数据保存至数据库,在 `application-dev.yaml` 中需配置好数据库连接信息以及自动创建表结构的相关设置[^1]:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/springboot_db?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
```
接着,定义一个用于表示用户的实体类 `User`。此实体类应映射到数据库中的相应表格。
```java
package com.example.demo.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private int age;
// Getters and Setters...
}
```
随后,编写一个基于JDBC的存储库来处理与该实体有关的操作。这里展示的是如何利用 `@Repository` 注解标记此类,并注入 `JdbcTemplate` 来执行SQL语句。
```java
package com.example.demo.repository;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class UserRepository {
@Autowired
JdbcTemplate jdbcTemplate;
public void save(User user){
String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
jdbcTemplate.update(sql, new Object[]{user.getName(), user.getAge()});
}
}
```
最后,可以在服务层调用上述方法完成新增操作;也可以直接在单元测试里验证功能是否正常工作。
```java
@Test
public void testSave(){
User newUser = new User();
newUser.setName("John Doe");
newUser.setAge(30);
userRepository.save(newUser);
// 验证逻辑可以在此处添加
}
```
阅读全文