介绍一下"Spring Boot JDBC 连接数据库示例"的完整攻略。
1. 环境准备
首先,我们需要准备JDK和Maven环境。确保已安装JDK环境,可以在命令行终端中输入以下命令进行验证:
java -version
验证通过后,下载和安装Maven。同样在终端中输入以下命令进行验证:
mvn -v
验证通过后,环境准备工作就做完了。
2. 添加依赖
在pom.xml文件中添加以下依赖项:
<!-- Spring Boot JDBC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MySQL 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
添加完依赖之后,进行Maven编译。
3. 配置文件
在src/main/resources目录下创建application.properties文件,添加MySQL数据库的相关配置信息:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
4. 创建数据库表
在MySQL数据库中创建一个表,作为示例表,用来测试Spring Boot JDBC连接数据库的功能:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
5. 编写代码
5.1. 创建实体类
创建一个User实体类,用来映射user表:
public class User {
private int id;
private String name;
private int age;
// 省略setter/getter方法
}
5.2. 编写DAO类
在src/main/java目录下,创建一个名为com.example.demo.dao的包,在这个包下创建UserDao接口,用来定义CRUD操作:
public interface UserDao {
void addUser(User user);
void updateUser(User user);
void deleteUserById(int id);
User findUserById(int id);
List<User> findAllUsers();
}
然后,在com.example.demo.dao包下创建UserDaoImpl类,这个类需要实现UserDao接口中定义的方法:
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void addUser(User user) {
String sql = "INSERT INTO user(name, age) VALUES (?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
@Override
public void updateUser(User user) {
String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";
jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());
}
@Override
public void deleteUserById(int id) {
String sql = "DELETE FROM user WHERE id = ?";
jdbcTemplate.update(sql, id);
}
@Override
public User findUserById(int id) {
String sql = "SELECT * FROM user WHERE id = ?";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
return jdbcTemplate.queryForObject(sql, rowMapper, id);
}
@Override
public List<User> findAllUsers() {
String sql = "SELECT * FROM user";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
return jdbcTemplate.query(sql, rowMapper);
}
}
5.3. 编写Controller类
在src/main/java目录下,创建一个名为com.example.demo.controller的包,在这个包下创建UserController类,用来定义路由和请求处理方法:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@PostMapping("/")
public String addUser(User user) {
userDao.addUser(user);
return "add user success";
}
@PutMapping("/")
public String updateUser(User user) {
userDao.updateUser(user);
return "update user success";
}
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable("id") int id) {
userDao.deleteUserById(id);
return "delete user success";
}
@GetMapping("/{id}")
public User findUserById(@PathVariable("id") int id) {
return userDao.findUserById(id);
}
@GetMapping("/")
public List<User> findAllUsers() {
return userDao.findAllUsers();
}
}
6. 测试代码
启动应用程序,访问http://localhost:8080/user/,通过Postman或其他工具测试CRUD操作。以下是两个测试示例。
6.1. 添加用户
发送POST请求http://localhost:8080/user/,请求体为json格式:
{
"name": "张三",
"age": 23
}
返回结果:
add user success
6.2. 获取用户列表
发送GET请求http://localhost:8080/user/,返回结果:
[
{
"id": 1,
"name": "张三",
"age": 23
}
]
至此,"Spring Boot JDBC 连接数据库示例"的完整攻略就完成了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot JDBC 连接数据库示例 - Python技术站