idea__SpringBoot微服务10——整合JDBC(新依赖)

整合JDBC

    • 完整项目地址:
    • 一、创建一个项目
    • 二、idea配置连接mysql
    • 三、创建yaml数据库连接配置文件
    • 四、测试一下,没有问题
    • 五、增删改查
        • ————————
        • 创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~

完整项目地址:

链接:https://pan.baidu.com/s/12rnzTR8nggk2l9Tb2-n8tw
提取码:bppv
–来自百度网盘超级会员V1的分享

新的依赖

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

一、创建一个项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、idea配置连接mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这就说明idea内置的mysql管理工具连上了,连上了后面有很多方便的地方,sql语句会有提示

在这里插入图片描述

三、创建yaml数据库连接配置文件

在这里插入图片描述
配置完这一些东西后,我们就可以直接去使用了,因为SpringBoot已经默认帮我们进行了自动配置;去测试类测试一下

四、测试一下,没有问题

在这里插入图片描述

五、增删改查

JDBCTemplate

1、有了数据源(com.zaxxer.hikari.HikariDataSource),然后可以拿到数据库连接(java.sql.Connection),有了连接,就可以使用原生的 JDBC 语句来操作数据库;

2、即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC 做了轻量级的封装,即JdbcTemplate。

3、数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。

4、Spring Boot 不仅提供了默认的数据源,同时默认已经配置好了 JdbcTemplate 放在了容器中,程序员只需自己注入即可使用

5、JdbcTemplate 的自动配置是依赖 org.springframework.boot.autoconfigure.jdbc 包下的 JdbcTemplateConfiguration 类

JdbcTemplate主要提供以下几类方法:

  • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

  • query方法及queryForXXX方法:用于执行查询相关语句;

  • call方法:用于执行存储过程、函数相关语句。

添加一下web启动,创建的时候忘记勾选了

在这里插入图片描述
创建一个controller测试一下

package com.chenjiangang.Controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/jdbc")
public class JdbcController {/*** Spring Boot 默认提供了数据源,默认提供了 org.springframework.jdbc.core.JdbcTemplate* JdbcTemplate 中会自己注入数据源,用于简化 JDBC操作* 还能避免一些常见的错误,使用起来也不用再自己来关闭数据库连接*/@AutowiredJdbcTemplate jdbcTemplate;//查询employee表中所有数据//List 中的1个 Map 对应数据库的 1行数据//Map 中的 key 对应数据库的字段名,value 对应数据库的字段值@GetMapping("/list")public List<Map<String, Object>> userList(){String sql = "select * from mybatis.user";List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);return maps;}//新增一个用户@GetMapping("/add")public String addUser(){//插入语句,注意时间问题String sql = "insert into mybatis.user(id,name,pwd) values (4,'24736743','123456')";jdbcTemplate.update(sql);//查询return "addOk";}//修改用户信息@GetMapping("/update/{id}")public String updateUser(@PathVariable("id") int id){//语句String sql = "update mybatis.user set name=?,pwd=? where id="+id;//数据Object[] objects = new Object[2];objects[0] = "周某";objects[1] = "zzzzz";jdbcTemplate.update(sql,objects);return "updateOk";}//删除用户@GetMapping("/delete/{id}")public String delUser(@PathVariable("id") int id){//语句String sql = "delete from mybatis.user where id=?";jdbcTemplate.update(sql,id);return "deleteOk";}}

启动,四个方法都没有问题

在这里插入图片描述

————————
创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CS110L 系统编程安全 笔记

用户向程序输入数据&#xff0c;程序分析数据&#xff0c;但是当用户的输入大于缓冲区长度时&#xff0c;数据会溢出&#xff0c;覆盖掉内存中其他内容&#xff0c;比如函数返回地址&#xff0c;从而可能导致程序返回到错误的地址执行了不安全的程序&#xff08;远程代码执行&a…

MySQL笔记-第10章_创建和管理表

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第10章_创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型 2. 创建和管理数据库2.1 创建数据库2.2 使…

Xcode编译速度慢是什么原因?如何提高编译速度?

Hello各位伙伴们好&#xff0c;我是咕噜铁蛋&#xff01;作为一个开发者&#xff0c;我们都希望能够高效地开发应用程序&#xff0c;而编译速度是影响开发效率的重要因素之一。然而&#xff0c;有时候我们会发现在使用 Xcode 进行开发时&#xff0c;编译速度非常慢&#xff0c;…

处理货物数据

主题 对xlsx文件进行清洗 第一步 将g2到y2的标题复制到g4和y4 安装操作库 pip install openpyxl下载失败&#xff0c;更换为阿里源 pip install library -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com下载仍然失败 再次换源 pip instal…

模块一——双指针:11.盛最多水的容器

文章目录 题目解析算法原理解法一&#xff1a;暴力枚举(超时&#xff09;解法二&#xff1a;双指针单调性 代码实现暴力枚举(超时&#xff09;双指针单调性(时间复杂度为O(N)&#xff0c;空间复杂度为O(1)&#xff09; 题目解析 题目链接&#xff1a;11.盛最多水的容器 这道题…

C++的移动语义和完美转发

参考《现代C语言核心特性解析》 移动语义 C11新特性的std::move()用于将一个左值转换为右值引用。它并不是实际移动或复制数据&#xff0c;而是通过将一个左值强制转换为一个右值引用来实现对对象的转移。这个特性在C11中引入&#xff0c;用于优化对象移动操作的效率。 我们…

万界星空科技电子装配行业MES解决方案

电子电器装配属于劳动密集型、科技含量较高的行业&#xff0c;产品零部件种类繁多&#xff0c;生产组装困难&#xff0c;生产过程存在盲点&#xff0c;同时也决定了生产流水线多且对自动化水平要求较高。 万界星空科技提供的电子行业MES解决方案&#xff0c;提供从仓储管理、生…

pytorch——房价预测

1、首先对数据进行读取和预处理 2、读取数据后&#xff0c;对x数据进行标准化处理&#xff0c;以便于后续训练的稳定性&#xff0c;并转换为tensor格式 3、接下来设置训练参数和模型 这里采用回归模型&#xff0c;既yx*weight1bias1&#xff0c;设置的学习率为0.0006&#x…

perl脚本中使用eval函数执行可能有异常的操作

perl脚本中有时候执行的操作可能会引发异常&#xff0c;为了直观的说明&#xff0c;这里举一个json反序列化的例子&#xff0c;脚本如下&#xff1a; #! /usr/bin/perl use v5.14; use JSON; use Data::Dumper;# 读取json字符串数据 my $json_str join(, <DATA>); # 反…

《地理信息系统原理》笔记/期末复习资料(12. 地理信息工程)

目录 12. 地理信息工程 12.1. 地理信息系统工程的概念 12.2. 地理信息系统工程建设过程 12.2.1. 应用型地理信息系统设计步骤和方法 12.2.2. 需求分析 12.2.3. 系统设计 12.2.4. 系统开发与实施 12.2.5. 系统的评价和维护 12.3. GIS标准 12.4. 习题 12. 地理信息工程…

uniapp中this有时打印的是undefined(作用域问题)

this关键字是指当前组件的实例&#xff0c;使用this可以直接访问当前组件中的属性和方法。 比如&#xff0c;在组件的methods中&#xff0c;通过this可以访问组件的data对象&#xff0c;如下所示&#xff1a; export default {data() {return {message: Hello World}},methods:…

vue+高德,百度地图

1&#xff0c;npm安装vue-amap npm install vue-amap --save 2&#xff0c;main.js引入 import VueAMap from vue-amap; Vue.use(VueAMap); VueAMap.initAMapApiLoader({key: ,plugin: [AMap.Autocomplete, AMap.PlaceSearch, AMap.Scale, AMap.OverView, AMap.ToolBar, AMap.…

12.12每日一题(备战蓝桥杯循环输出)

12.12每日一题&#xff08;备战蓝桥杯循环输出&#xff09; 题目 1002: 【入门】编程求解123...n题目描述输入输出样例输入 复制样例输出 复制来源/分类 题解 1002: 【入门】编程求解123...n题目 1741: 【入门】求出1~n中满足条件的数的个数和总和&#xff1f;题目描述输入输出…

CNN、LeNet、AlexNet基于MNIST数据集进行训练和测试,并可视化对比结果

完成内容&#xff1a; 构建CNN并基于MNIST数据集进行训练和测试构建LeNet并基于MNIST数据集进行训练和测试构建AlexNet并基于MNIST数据集进行训练和测试对比了不同网络在MNIST数据集上训练的效果 准备工作 import torch import torch.nn as nn import torch.optim as optim …

git切换分支

切换到你想要保留的分支&#xff1a; 确保你在本地已经切换到了你想要保留的分支。 git checkout 要保留的分支名更改远程仓库地址&#xff1a; 如果你还没有更改远程仓库地址&#xff0c;使用 git remote set-url 来更改它。 git remote set-url origin 新的仓库地址推送当前分…

高通SDX12:nand flash适配

一、SBL阶段 代码流程如下: boot_images\core\storage\flash\src\dal\flash_nand_init.c nand_probe ->nand_intialize_primary_hal_device ->>nand_get_device_list_supportedboot_images\core\storage\flash\src\dal\flash_nand_config.c ->>>flash_n…

ue4 解决角度万向锁的问题 蓝图节点

问题&#xff1a;当角度值从359-1变化的时候&#xff0c;数值会经历358、357… 解决方法&#xff1a;勾上Shortest Path&#xff0c;角度值的会从359-1

华为 Auth-HTTP Server 1.0 任意文件读取漏洞复现 [附POC]

文章目录 华为 Auth-HTTP Server 1.0 任意文件读取漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议华为 Auth-HTTP Server 1.0 任意文件读取漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内…

React Context:跨层级组件共享状态参数、状态

前言 通常情况下&#xff0c;我们通过props将参数从父组件传递给子组件&#xff0c;达到组件间状态参数共享的目的。但是面对嵌套了多层组件的情况&#xff0c;继续使用props一层一层的传递参数是非常冗余和繁琐的。 对于这种包含多层组件的传参&#xff0c;React提供了 Cont…

Kubernetes实战(十三)-使用kube-bench检测Kubernetes集群安全

1 概述 在当今云原生应用的开发中&#xff0c;Kubernetes已经成为标准&#xff0c;然而&#xff0c;随着其使用的普及&#xff0c;也带来了安全问题的挑战。本文将介绍如何使用kube-bench工具来评估和增强Kubernetes集群的安全性。 2 CIS (Center for Internet Security)简介…