spring boot 系列之三:spring boot 整合JdbcTemplate

Posted JAVA开发老菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 系列之三:spring boot 整合JdbcTemplate相关的知识,希望对你有一定的参考价值。

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

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

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

废话不多说,直接上干货。

一、代码实现

  1. 修改pom文件,引入相关依赖
    <!-- 引入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.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test
    spring.datasource.username=root
    spring.datasource.password=root
  3. 创建实体类并创建数据库
    1. 实体类
      package com.study.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;
          }
      
      }
      View Code
    2. 数据库
  4. 实现dao层
    @Repository
    public class UserDao {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        public void save(User user) {
            String sql = "insert into t_user(user_name, password) values(?,?)";
            jdbcTemplate.update(sql, user.getUserName(), user.getPassword());
        }
    }
  5. 实现service层
    1. 接口
      public interface UserService {
      
          public void save(User user);
      }
    2. 实现类
      @Service
      public class UserServiceImpl implements UserService {
      
          @Autowired
          UserDao userDao;
          
          public void save(User user){
              userDao.save(user);
          }
          
      }
  6. 实现controller层
    @RestController
    public class UserController {
        @Autowired
        UserService service;
    
        @RequestMapping("/saveUser")
        public String saveUser(User user) {
    
            service.save(user);
            return "save user successful";
        }
    }
  7. 测试
    1. 页面正确返回信息
    2. 数据库正确保存

二、总结

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

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

以上是关于spring boot 系列之三:spring boot 整合JdbcTemplate的主要内容,如果未能解决你的问题,请参考以下文章

Https系列之三:让服务器同时支持httphttps,基于spring boot

自定义spring boot starter三部曲之三:源码分析spring.factories加载过程

#yyds干货盘点#自定义spring boot starter三部曲之三:源码分析spring.factories加载过程

spring boot整合jsp的那些坑(spring boot 学习笔记之三)

Spring BootSpring Boot之三种容器启动后进行相关应用初始化操作方法

《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析