【SpringBoot】数据持久化——JdbcTemplate

如果饿了就吃,困了就睡,渴了就喝,人生就太无趣了
源码地址:https://github.com/keer123456789/springbootstudy/tree/master/jdbctemplatedemo


1 项目配置

1.1 添加依赖

在创建SpringBoot项目时,添加基本的Web依赖,jdbc依赖和数据库驱动依赖。如图1:

在这里插入图片描述

项目创建完成后修改一下pom.xml,主要是修改mysql的依赖

	<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

1.2 配置application.properties文件

application.properties文件添加如下内容:

  • url是mysql的ip地址,端口号如果没有改动过默认是3306,斜杆后面是数据库名称
  • username是登录mysql的用户名
  • password是登录密码
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2 使用JdbcTemplate(部分代码,全部代码github中)

在数据库中创建user表,如图2:
在这里插入图片描述
创建User对象类

public class User {
    private String name;
    private String password;

    public User() {
    }

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPassWord(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", passWord='" + password + '\'' +
                '}';
    }
}

2.1 例子类图

如图3:

  • 流程就是请求被UserController接收,之后调用UserService的方法,进行数据处理,最后调用UserDao对数据进行增删改查
  • addUser()增加在数据库增加用户信息
  • removeUser()删除某个用户信息
  • updateUserPassword()更新用户密码
  • selectUserInfo()查询全部用户信息

在这里插入图片描述

下面只介绍UserDao中使用JdbcTemplate用法,
JdbcTemplate的用法和传统的JDBC用法很相似,只不过将连接配置等工作交给spring来做了。

2.2 增(insert) addUser

insert 语句调用JdbcTemplateAPI就可以了,传入sql语句即可,返回int,表示修改库表行数

	/**
     * 在user表中插入新的用户信息
     *
     * @param user
     * @return
     */
    public boolean insertUser(User user) {
        int i = jdbcTemplate.update("insert into user(name,password) values(?,?)", user.getName(), user.getPassword());
        if (i == 1) {
            return true;
        } else {
            return false;
        }
    }

2.3 删(delete) deleteUser()

delete 语句同样是调用JdbcTemplateAPI就可以了,和insert的用法相同

	/**
     * 删除user表中name= username 的记录
     *
     * @param userName
     * @return
     */
    public boolean deleteUser(String userName) {
        int i = jdbcTemplate.update("delete from user where name=?", userName);
        if (i == 1) {
            return true;
        } else {
            return false;
        }
    }

2.4 改(update) updateUserPassword()

update语句也是调用调用JdbcTemplate.update()API即可。

	/**
     * 更改对应用户的密码
     *
     * @param user
     * @return
     */
    public boolean updateUserPassword(User user) {
        int i = jdbcTemplate.update("update user set password=? where name=?", user.getPassword(), user.getName());
        if (i == 1) {
            return true;
        } else {
            return false;
        }
    }

2.5 查(select) selectUserInfo()

select语句调用的API使用query()方法

	/**
     * 查询用户表全部信息
     *
     * @return
     */
    public List selectUserInfo() {
        return jdbcTemplate.query("select * from user",
                new RowMapper<User>() {
                    @Override
                    public User mapRow(ResultSet resultSet, int i) throws SQLException {
                        User u = new User();
                        u.setName(resultSet.getString("name"));
                        u.setPassWord(resultSet.getString("password"));
                        return u;
                    }
                });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot项目中,初始化JdbcTemplate对象也非常简单。Spring Boot提供了自动配置的特性,可以根据项目的依赖和配置文件自动初始化JdbcTemplate对象。 以下是在Spring Boot项目中初始化JdbcTemplate对象的步骤: 1. 确保你的项目中已经引入了Spring Boot JDBC的依赖。在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> ``` 2. 在`application.properties`或`application.yml`配置文件中配置数据库连接信息,包括URL、用户名和密码。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=username spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 在需要使用JdbcTemplate的地方,通过构造函数或依赖注入的方式注入JdbcTemplate对象。例如,在DAO类中使用JdbcTemplate对象: ```java import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class MyDAO { private final JdbcTemplate jdbcTemplate; public MyDAO(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } // 使用jdbcTemplate执行数据库操作 } ``` 4. 现在,JdbcTemplate对象已经初始化并可以在需要的地方进行使用。你可以在DAO类中使用`jdbcTemplate`对象执行各种数据库操作,例如执行SQL语句、查询数据等。 通过以上步骤,Spring Boot会根据配置文件中的数据库信息自动初始化JdbcTemplate对象,并将其注入到需要使用的地方。你可以在项目中的任何地方使用`jdbcTemplate`对象进行数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值