下面是关于“Spring Boot如何使用JDBC获取相关的数据详解”的完整攻略。
1. 添加JDBC依赖
在Spring Boot项目中使用JDBC,需要在pom.xml文件中添加相应的依赖。在本示例中,我们使用MySQL数据库,因此需要添加以下依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
这个依赖用来让Spring Boot应用程序借助于jdbc组件使用MySql数据库.
2. 配置数据源
在Spring Boot中管理数据源十分方便,只需要在application.properties(或application.yml)文件中配置相应的数据源即可,下面是application.properties文件中的配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
其中,url是数据库连接地址,username是连接数据库的用户名,password是连接数据库的密码,driver-class-name是驱动类名。
3. 使用JdbcTemplate查询数据
JdbcTemplate是Spring Framework提供的一款操作数据库的工具类,使用该类可以简化JDBC的开发流程,避免了不必要的编码。
使用JdbcTemplate需要先注入该bean,如下所示:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class UserRepository {
private final JdbcTemplate jdbcTemplate;
@Autowired
public UserRepository(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
//...
}
然后,就可以在Repository中使用JdbcTemplate来进行数据库查询,下面是一些常见的查询操作:
查询所有数据
public List<User> selectAll() {
String sql = "SELECT * FROM user";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
}
根据ID查询数据
public User selectById(Long id) {
String sql = "SELECT * FROM user WHERE id = ?";
return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(User.class), id);
}
插入数据
public void insert(User user) {
String sql = "INSERT INTO user(name, age) VALUES (?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
4. 示例
下面是一些示例,帮助你更好地理解上述内容。
示例1:查询所有用户信息
@RestController
@RequestMapping("/users")
public class UserController {
private final UserRepository userRepository;
@Autowired
public UserController(UserRepository userRepository) {
this.userRepository = userRepository;
}
@GetMapping("/")
public List<User> getAll() {
return userRepository.selectAll();
}
}
示例2:插入一条用户信息
@RestController
@RequestMapping("/users")
public class UserController {
private final UserRepository userRepository;
@Autowired
public UserController(UserRepository userRepository) {
this.userRepository = userRepository;
}
@PostMapping("/")
public void insert(@RequestBody User user) {
userRepository.insert(user);
}
}
上述示例中的User是一个普通的Java Bean,用来表示用户的基本信息。
public class User {
private Long id;
private String name;
private Integer age;
//getter, setter, toString
}
这样就可以在Spring Boot项目中使用JDBC进行数据库操作了。
希望上述内容能够帮助到你,如果还有什么疑问,请随时提出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot如何使用JDBC获取相关的数据详解 - Python技术站