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

前面两篇文章我们讲了两件事情:这篇文章我们来看下怎么通过JdbcTemplate进行数据的持久化。废话不多说,直接上干货。一、代码实现packagecom.study.entity;pub

大家好,又见面了,我是全栈君。

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

  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. 实体类
      spring boot 系列之三:spring boot 整合JdbcTemplate
      spring boot 系列之三:spring boot 整合JdbcTemplate

      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. 数据库
      1. spring boot 系列之三:spring boot 整合JdbcTemplate
  4. 实现dao层
    @Repositorypublic 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. 页面正确返回信息spring boot 系列之三:spring boot 整合JdbcTemplate
    2. 数据库正确保存spring boot 系列之三:spring boot 整合JdbcTemplate

二、总结

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120914.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 运行时常量池与字符串常量池_常量池是什么

    运行时常量池与字符串常量池_常量池是什么文章目录1)方法区包含哪些内容?2)运行时常量池存在什么地方?3)取消永久代后,方法区的实现?4)字符串常量池和运行时常量池究竟去了哪里?4)元空间是什么?5)关于为什么移除永久代?5)补充        我们知道在JDK1.8中取消了永久代,区而代之使用了元空间来实现方法区。话虽如此,但是关于字符串常量池和运行时常量池的模棱两可的说法一直都是争论不休的。1)方法区包含哪些内容?方法区包含哪些内容,摘录自《java虚拟机规

    2022年7月28日
    5
  • 手机自动刷视频方法教程_自动刷视频软件手机版

    手机自动刷视频方法教程_自动刷视频软件手机版现在手机刷视频赚钱的软件有很多1、淘宝直播2、刷宝短视频3、快手…这些软件都有一个限制,如果不是一直在看视频的话,元宝是不能领取的。也就是说必须不停的刷视频才可以领元宝。但如果人工刷的话

    2022年8月4日
    4
  • bat脚本执行命令_实用bat代码

    bat脚本执行命令_实用bat代码注意:编辑bat文件请使用ANSI编码(不然会出现中文乱码)1、语句注释rem命令行注释,可以回显(语句会在命令行中显示);::两个冒号,效果同上,但不会回显。(冒号后加任意非字母数字字符都可起到注释作用)2、暂停pause暂停,命令行中出现”请按任意键继续…”自定义暂停时的文本,如下:::pause>nul,隐藏原暂停文本echo这里是自定义文本!&…

    2022年9月24日
    1
  • Android中px和dip的区别

    Android中px和dip的区别

    2021年8月25日
    60
  • srgb的伽马值_srgb模式和标准模式

    srgb的伽马值_srgb模式和标准模式sRGB标准人眼对亮度的感知不是线性的,其对较暗区域的变化更加敏感参见:ComputerColorisBroken基于人眼该特点,sRGB标准要求图像(各通道为8bits,最多存储256个亮度值)使用编码伽马,把更多地空间用来存储更多暗部区域,来最大化地利用表示亮度的数据位或带宽伽马校正(Gammacorrection)在早期,阴极射线管(CRT)显示器是唯一的电子显示设备,但它的输入电压和显示出来的亮度关系不是线性的,而是一个类似幂律(pow-law)曲线的关系,…

    2022年9月2日
    4
  • idea2019激活码(破解版激活)

    idea2019激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    114

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号