📜  Spring JdbcTemplate教程(1)

📅  最后修改于: 2023-12-03 14:47:33.552000             🧑  作者: Mango

Spring JdbcTemplate教程

Spring JdbcTemplate是Spring框架提供的JDBC操作工具,帮助开发者更加方便地进行对数据库的操作。本教程将带您了解Spring JdbcTemplate的使用和实践。

环境准备

在开始之前,确保您已经完成以下步骤:

  • 安装MySQL数据库
  • 创建一个名为“test”的数据库,并创建一张名为“user”的表
CREATE DATABASE test;
USE test;

CREATE TABLE user (
    id INT NOT NULL,
    name VARCHAR(20) NOT NULL,
    email VARCHAR(50),
    PRIMARY KEY (id)
);
  • 在您的项目中引入Spring JdbcTemplate依赖
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.8</version>
</dependency>
配置数据源

使用Spring JdbcTemplate需要先配置数据源。以MySQL为例,以下是一个JdbcTemplate配置的示例:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false" />
    <property name="username" value="root" />
    <property name="password" value="password" />
</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource" />
</bean>
使用JdbcTemplate进行CRUD操作
插入数据

使用JdbcTemplate插入一条数据可以使用如下代码:

public void addUser(User user) {
    jdbcTemplate.update("INSERT INTO user (id, name, email) VALUES (?, ?, ?)",
        user.getId(), user.getName(), user.getEmail());
}
查询数据

使用JdbcTemplate查询数据可以使用如下代码:

public List<User> getUsers() {
    return jdbcTemplate.query("SELECT * FROM user", new UserRowMapper());
}

public class UserRowMapper implements RowMapper<User> {
    @Override
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
        User user = new User();
        user.setId(rs.getInt("id"));
        user.setName(rs.getString("name"));
        user.setEmail(rs.getString("email"));
        return user;
    }
}
更新数据

使用JdbcTemplate更新一条数据可以使用如下代码:

public void updateUser(User user) {
    jdbcTemplate.update("UPDATE user SET name = ?, email = ? WHERE id = ?",
        user.getName(), user.getEmail(), user.getId());
}
删除数据

使用JdbcTemplate删除一条数据可以使用如下代码:

public void deleteUser(int id) {
    jdbcTemplate.update("DELETE FROM user WHERE id = ?", id);
}
总结

使用Spring JdbcTemplate,可以方便地进行对数据库的操作,使用简单,并且避免了手动管理连接和资源的繁琐操作。另外,Spring还提供了另外的orm框架,JPA,MyBatis等,根据实际情况进行选择)。

参考文献:

https://docs.spring.io/spring-framework/docs/5.3.8/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html