Spring Boot提供了Spring jdbc template 來簡(jiǎn)化操作數(shù)據(jù)庫的流程,下面是一個(gè)使用JdbcTemplate進(jìn)行增刪改查的示例:
1、首先,在Spring Boot的pom.xml文件中添加如下依賴:
org.springframework.boot
spring-boot-starter-jdbc
2、在application.properties中配置數(shù)據(jù)庫連接信息:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
3、編寫JdbcDemo.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@Component
public class JdbcDemo {
@Autowired
private JdbcTemplate jdbcTemplate;
public void insert(String name) {
jdbcTemplate.update("insert into user (name) values (?)", name);
}
public void delete(int id) {
jdbcTemplate.update("delete from user where id=?", id);
}
public void update(User user) {
jdbcTemplate.update("update user set name=? where id=?", user.getName(), user.getId());
}
public User selectById(int id) {
return jdbcTemplate.queryForObject("select * from user where id=?", new Object[]{id},
(rs, rowNum) -> new User(rs.getInt("id"), rs.getString("name")));
}
}
4、編寫測(cè)試類JdbcDemoTest.java:
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class JdbcDemoTest {
@Autowired
private JdbcDemo jdbcDemo;
@Test
public void test() {
// 插入一條數(shù)據(jù)
jdbcDemo.insert("Alice");
// 查詢數(shù)據(jù)
User user = jdbcDemo.selectById(1);
System.out.println(user);
// 更新數(shù)據(jù)
user.setName("Bob");
jdbcDemo.update(user);
// 查詢數(shù)據(jù)
user = jdbcDemo.selectById(1);
System.out.println(user);
// 刪除數(shù)據(jù)
jdbcDemo.delete(1);
}
}
以上示例中,JdbcTemplate類提供了一系列方法,如update()、query()、queryForObject()等用于執(zhí)行SQL語句,參數(shù)類型為JdbcTemplate一般采用@Autowired注解自動(dòng)裝配。Demo中演示了基本的增刪改查操作。
最后,用Junit進(jìn)行單元測(cè)試即可。