使用JdbcTemplate进行数据库操作主要有以下几步:
- 添加Spring JDBC依赖,例如:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
- 配置数据源DataSource,例如:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/mydb" />
<property name="username" value="root" />
<property name="password" value="root" />
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
</bean>
- 创建JdbcTemplate实例,注入DataSource:
@Component
public class JdbcTemplateDemo {
@Autowired
private DataSource dataSource;
private JdbcTemplate jdbcTemplate;
@PostConstruct
public void init() {
jdbcTemplate = new JdbcTemplate(dataSource);
}
}
- 执行SQL查询:
List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT * FROM table_name");
- 执行SQL更新:
jdbcTemplate.update("UPDATE table_name SET name=? WHERE id=?", "Mike", 10);
- 执行存储过程:
SimpleJdbcCall sproc = new SimpleJdbcCall(dataSource).withProcedureName("sp_some_procedure");
Map<String, Object> out = sproc.execute(params);
- 进行事务管理:
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
transactionTemplate.execute((status) -> {
jdbcTemplate.update(...);
jdbcTemplate.update(...);
});
所以,使用JdbcTemplate主要分为:
- 引入依赖与配置DataSource
- 创建JdbcTemplate实例,注入DataSource
- 执行SQL语句,进行查询、更新、删除等数据库操作
- 可选地调用存储过程
- 进行事务管理