pom.xml
文件中添加Spring Boot JDBC和MySQL依赖打开pom.xml文件,添加以下依赖:
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
在application.properties
或application.yml
文件中,添加以下的数据库连接配置:
使用application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
使用application.yml
:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
请确保替换url
、username
、password
和driver-class-name
与你实际使用的数据库配置一致。
创建一个数据访问对象用于操作数据库。以下是一个简单的示例:
@Repository
public class UserDao {
private final JdbcTemplate jdbcTemplate;
public UserDao(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void addUser(User user) {
String sql = "INSERT INTO user (id, username, email) VALUES (?, ?, ?)";
jdbcTemplate.update(sql, user.getId(), user.getUsername(), user.getEmail());
}
public User getUserById(int id) {
String sql = "SELECT * FROM user WHERE id = ?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, (rs, rowNum) ->
new User(rs.getInt("id"), rs.getString("username"), rs.getString("email"))
);
}
public List getAllUsers() {
String sql = "SELECT * FROM user";
return jdbcTemplate.query(sql, (rs, rowNum) ->
new User(rs.getInt("id"), rs.getString("username"), rs.getString("email"))
);
}
public void updateUser(User user) {
String sql = "UPDATE user SET username = ?, email = ? WHERE id = ?";
jdbcTemplate.update(sql, user.getUsername(), user.getEmail(), user.getId());
}
public void deleteUser(int id) {
String sql = "DELETE FROM user WHERE id = ?";
jdbcTemplate.update(sql, id);
}
}
在这个例子里,我们使用JdbcTemplate
执行数据库操作。JdbcTemplate
是Spring提供的一个简单易用的JDBC访问模板。
创建一个代表数据库中表结构的实体类。例如,创建一个User
实体类:
public class User {
private int id;
private String username;
private String email;
// 省略构造函数和getter/setter方法
}
在你的业务逻辑中使用数据访问对象进行数据库操作。例如,在一个服务类中使用UserDao
来执行数据库操作:
@Service
public class UserService {
private final UserDao userDao;
public UserService(UserDao userDao) {
this.userDao = userDao;
}
public void addUser(User user) {
userDao.addUser(user);
}
public User getUserById(int id) {
return userDao.getUserById(id);
}
public List getAllUsers() {
return userDao.getAllUsers();
}
public void updateUser(User user) {
userDao.updateUser(user);
}
public void deleteUser(int id) {
userDao.deleteUser(id);
}
}
在这个例子中,我们注入了UserDao
,并在相应的方法中调用UserDao
的方法