springboot学习-使用JdbcTemplate操作MySQL数据库

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: springboot学习-使用JdbcTemplate操作MySQL数据库

springboot系列文章点击阅读原文直达


上一篇文章中我们使用spring-data-jpa实现了操作MySQL数据库,完成了对数据的增删改查,这一篇我们学习使用JdbcTemplate来实现同样的操作。


JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错。但是功能还是不够强大,在实际应用中通常和hibernate、mybaties等框架混合使用。


新建一个MySQL数据库,这里数据库名为springboot,建立user_info数据表,作为我们示例操作的表对象。


user_info信息如下:

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(255) DEFAULT NULL,
 `password` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user_info
-- ----------------------------
INSERT INTO `user_info` VALUES ('1', 'Java之音', '12345');
INSERT INTO `user_info` VALUES ('2', '张无忌', '123');


数据库及表创建成功后,回到我们的工程中



第零步,引入JdbcTemplate的依赖包:


<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
</dependency>


第一步,在yml配置文件中配置数据库连接信息:


spring:
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
   username: root
   password: 1011


第二步,创建一个实体类:


package com.javazhiyin;
/**
* Created by 57783 on 2018/7/4.
*/
public class UserInfo {
   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;
   }
   public UserInfo(){
   }
}


第三步,新建一个Controller,实现对数据库的增删改查操作:


package com.javazhiyin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;
import java.util.Map;
/**
* Created by 57783 on 2018/7/4.
*/
@RestController
public class UserInfoController {
   @Autowired
   private JdbcTemplate jdbcTemplate;
   /**
    * 查
    * @return
    */
   @GetMapping(value = "/list")
   public List<Map<String, Object>> getUserList(){
       String sql = "select * from user_info";
       List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
       return list;
   }
   /**
    * 增
    * @param username
    * @param password
    * @return
    */
   @PostMapping(value = "/addUser")
   public String addUser(@RequestParam("username") String username,
                           @RequestParam("password") String password){
       String sql = "insert into user_info (username,password) value (?,?)";
       Object args[] = {username,password};
       int temp = jdbcTemplate.update(sql, args);
       if(temp > 0) {
           return "新增成功";
       }
       return "新增失败";
   }
   /**
    * 改
    * @param id
    * @param username
    * @param password
    * @return
    */
   @PutMapping(value = "updUser/{id}")
   public UserInfo updUser(@PathVariable("id") Integer id,
                       @RequestParam("username") String username,
                       @RequestParam("password") String password){
       String sql = "update user_info set username = ?,password = ? where id = ?";
       Object args[] = {username,password,id};
       int temp = jdbcTemplate.update(sql, args);
       UserInfo user = new UserInfo();
       if(temp > 0) {
           user.setId(id);
           user.setUsername(username);
           user.setPassword(password);
           return user;
       }
       return user;
   }
   /**
    * 删
    * @param id
    */
   @DeleteMapping(value = "delUser/{id}")
   public String delUser(@PathVariable("id") Integer id){
       UserInfo user = new UserInfo();
       user.setId(id);
       String sql = "delete from user_info where id = ?";
       Object args[] = {id};
       int temp = jdbcTemplate.update(sql, args);
       if(temp > 0) {
           return "删除成功";
       }
       return "删除出现错误";
   }
}


测试上述代码,这里我们使用postman测试,非常方便:


查询测试:


image.png


新增测试:



image.png


删除测试:


image.png


我们可以看到可以全部测试通过,完成了springboot使用JdbcTemplate进行增删改查的操作。



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
4月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
5月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
927 5
|
11月前
|
监控 Java 应用服务中间件
微服务——SpringBoot使用归纳——为什么学习Spring Boot
本文主要探讨为什么学习Spring Boot。从Spring官方定位来看,Spring Boot旨在快速启动和运行项目,简化配置与编码。其优点包括:1) 良好的基因,继承了Spring框架的优点;2) 简化编码,通过starter依赖减少手动配置;3) 简化配置,采用Java Config方式替代繁琐的XML配置;4) 简化部署,内嵌Tomcat支持一键式启动;5) 简化监控,提供运行期性能参数获取功能。此外,从未来发展趋势看,微服务架构逐渐成为主流,而Spring Boot作为官方推荐技术,与Spring Cloud配合使用,将成为未来发展的重要方向。
430 0
微服务——SpringBoot使用归纳——为什么学习Spring Boot
|
Java 数据库连接 测试技术
SpringBoot入门 - 添加内存数据库H2
SpringBoot入门 - 添加内存数据库H2
852 3
SpringBoot入门 - 添加内存数据库H2
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
332 4
SpringBoot入门(4) - 添加内存数据库H2
|
8月前
|
安全 Java 数据库
Spring Boot 框架深入学习示例教程详解
本教程深入讲解Spring Boot框架,先介绍其基础概念与优势,如自动配置、独立运行等。通过搭建项目、配置数据库等步骤展示技术方案,并结合RESTful API开发实例帮助学习。内容涵盖环境搭建、核心组件应用(Spring MVC、Spring Data JPA、Spring Security)及示例项目——在线书店系统,助你掌握Spring Boot开发全流程。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
1522 3
|
10月前
|
Java Spring
Spring框架的学习与应用
总的来说,Spring框架是Java开发中的一把强大的工具。通过理解其核心概念,通过实践来学习和掌握,你可以充分利用Spring框架的强大功能,提高你的开发效率和代码质量。
243 20
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!

推荐镜像

更多