Spring Boot 系统之三:Spring Boot 整合JdbcTemplate

前面两篇文章我们讲了两件事情:

  1. 通过一个简单实例进行Spring Boot 入门
  2. 修改Spring Boot 默认的服务端口号和默认context path

这篇文章我们来看下怎么通过JdbcTemplate进行数据的持久化。

一、代码实现

1、修改pom.xml文件,引入相关依赖。

        <!-- 引入 jdbc 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- 引入 mysql 数据库连接依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

2、配置数据库信息,在application.properties中添加如下内容:

# 数据库信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# xxx为数据库名称
spring.datasource.url=jdbc:mysql://localhost:3306/xxx
spring.datasource.username=root
spring.datasource.password=root

3、创建实体类并创建数据库

1、实体类

package com.learn.spring.entity;

public class User {
    private Integer id;
    private String userName;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

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

2、数据库

点击Execute即可创建成功;

 3、实现dao层

package com.learn.spring.dao;

import com.learn.spring.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository
public class UserDao {
    @Autowired
    JdbcTemplate jdbcTemplate;

    public void save(User user){
        String sql = "insert into t_user(user_name, password) values(hello,123456)";
        jdbcTemplate.update(sql, user.getUserName(), user.getPassword());
    }
}

4、实现Service层

(1)接口

package com.learn.spring.service;

import com.learn.spring.entity.User;

public interface UserService {

    public void save(User user);
}

(2)实现类

package com.learn.spring.service.impl;

import com.learn.spring.dao.UserDao;
import com.learn.spring.entity.User;
import com.learn.spring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserDao userDao;

    public void save(User user){
        userDao.save(user);
    }
}

5、实现controller层

package com.learn.spring.controller;

import com.learn.spring.entity.User;
import com.learn.spring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    @Autowired
    UserService service;

    @RequestMapping("/saveUser")
    public String saveUser(User user) {

        service.save(user);
        return "save user successful";
    }
}

6、运行测试

(1)页面正确返回信息“save user successful”

 (2)数据库正确保存,插入一条数据;

 二、总结

由此我们发现,Spring Boot 只是简化了xml的配置麻烦,并没有减少我们java代码的编写量。

Spring Boot 不是Spring 功能的增强,而是提供了一种快速使用Spring 的方式:开箱即用,没有代码生成,也无需XML配置。

猜你喜欢

转载自blog.csdn.net/qq_22003641/article/details/84776878