在JdbcTemplate中调用存储过程,可以通过以下步骤进行:
- 添加Maven依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
- 定义数据源和JdbcTemplate:
@Bean
public DataSource dataSource() {
return new DriverManagerDataSource(url, username, password);
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
- 编写方法调用存储过程:
@Repository
public class UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public void executeProc(String param1, int param2) {
jdbcTemplate.execute("CALL my_proc(?, ?)", new Object[]{param1, param2});
}
}
- 使用
jdbcTemplate.execute()
方法调用名为my_proc的存储过程,并传入参数。
4. 在Service层调用:
@Service
public class UserService {
@Autowired
private UserDao userDao;
public void callProc(String param1, int param2) {
userDao.executeProc(param1, param2);
}
}
- 在Controller层接收请求并调用:
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/callProc")
public void callProc(@RequestParam String param1, @RequestParam int param2) {
userService.callProc(param1, param2);
}
}
通过访问/callProc?param1=someValue¶m2=100可以调用存储过程。