📅  最后修改于: 2023-12-03 14:47:32.725000             🧑  作者: Mango
Spring Boot 提供了强大的 JDBC 支持,使数据库访问变得更加简单和高效。通过 Spring Boot 的自动配置和约定优于配置的原则,你可以轻松地进行数据库连接、数据访问和持久化操作。
本示例将演示如何在 Spring Boot 中使用 JDBC 进行数据库操作。
在开始之前,确保已经完成以下准备工作:
首先,在你的项目中添加 spring-boot-starter-data-jpa
依赖项。在 pom.xml
文件中添加以下内容:
<dependencies>
<!-- 其他依赖项 -->
<!-- Spring Boot JDBC 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
接下来,配置数据库连接。在 application.properties
文件中添加以下内容:
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA 配置
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update
请将上述配置项中的 mydatabase
、username
和 password
替换为你的实际数据库名称、用户名和密码。
在开始进行数据库操作之前,首先创建一个实体类。例如,我们创建一个名为 User
的实体类:
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;
// 省略构造函数、getter 和 setter
}
在上述示例中,我们使用了 JPA 注解 @Entity
来标识该类是一个实体类,@Id
注解表示主键字段,@GeneratedValue
注解用于生成主键。
接下来,创建一个数据访问类用于执行数据库操作。例如,我们创建一个名为 UserRepository
的类:
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
在上述示例中,我们继承了 JpaRepository
接口,并指定了实体类 User
和主键类型 Long
。
现在,我们已经完成了所有的准备工作,并且可以开始执行数据库操作了。以下是一些示例代码:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.CommandLineRunner;
@SpringBootApplication
public class Application implements CommandLineRunner {
@Autowired
private UserRepository userRepository;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... args) throws Exception {
// 插入数据
User user = new User();
user.setName("John Doe");
user.setAge(30);
userRepository.save(user);
// 查询数据
User savedUser = userRepository.findById(1L).orElse(null);
System.out.println(savedUser);
// 更新数据
if (savedUser != null) {
savedUser.setAge(35);
userRepository.save(savedUser);
}
// 删除数据
if (savedUser != null) {
userRepository.delete(savedUser);
}
}
}
在上述示例中,我们通过注入 UserRepository
对象来执行数据库操作。首先,我们插入了一条新的用户数据,然后通过主键查询该用户,并对其进行更新和删除操作。
最后,编译并运行应用程序。你可以使用命令行或者集成开发环境(IDE)来运行你的 Spring Boot 应用程序。
$ mvn spring-boot:run
通过 Spring Boot JDBC 示例,我们演示了如何在 Spring Boot 中使用 JDBC 进行数据库操作。你可以根据具体需求扩展该示例,并使用 Spring Boot 提供的便利特性来简化数据库访问和持久化操作。
希望本示例对你有所帮助!