05_Spring JdbcTemplate
在继续了解Spring的核心知识前,我们先看看Spring的一个模板类JdbcTemplate,它是一个JDBC的模板类,用来简化JDBC的操作。
接下来以实际来进行说明
一、实例环境准备
数据库及表准备
我们在本地mysql中新增一个数据库test,并新增一张数据表:user
create database if not exists user;CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',`real_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '姓名',`age` int DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
项目基础搭建
新增Maven项目,pom文件中添加如下依赖:
<dependencies><!-- spring context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>6.1.9</version></dependency><!--junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!-- spring jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>6.1.9</version></dependency>
</dependencies>
二、具体实现
实体类
public class User {private Integer id;private String realName;private Integer age;public User() {}public User(Integer id, String realName, Integer age) {this.id = id;this.realName = realName;this.age = age;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getRealName() {return realName;}public void setRealName(String realName) {this.realName = realName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User{" +"id=" + id +", realName='" + realName + '\'' +", age=" + age +'}';}
}
Spring配置文件
JdbcTemplate是Spring提供的类:org.springframework.jdbc.core.JdbcTemplate,我们要把这个类产生的Bean纳入到Spring的容器管理。
在把JdbcTemplate纳入Spring容器管理之前我们需要了解一下这个类如何初始化的,也就是说它有什么属性?这些属性要产生什么要的关联关系?
JdbcTemplate需要有一个数据源DateSource属性,所以我们得前置先提供一个数数据源或者找个第三方的数据源到时进行依赖注入。
我们自行写一个数据源(数据源要实现DataSource接口)
public class MyDataSource implements DataSource {// 创建数据源需要属性private String driver;pri相关文章:
05_Spring JdbcTemplate
在继续了解Spring的核心知识前,我们先看看Spring的一个模板类JdbcTemplate,它是一个JDBC的模板类,用来简化JDBC的操作。 接下来以实际来进行说明 一、实例环境准备 数据库及表准备 我们在本地mysql中新增一个数据库test,并新增一张数据表:user create database if not…...
Bug:引入Feign后触发了2次、4次ContextRefreshedEvent
Bug:引入Feign后发现监控onApplication中ContextRefreshedEvent事件触发了2次或者4次。 【原理】在Spring的文档注释中提示到: Event raised when an {code ApplicationContext} gets initialized or refreshed.即当 ApplicationContext 进行初始化或者刷…...
最新VSCode保姆级安装教程(附安装包)
文章目录 一、VSCode介绍 二、VSCode下载 下载链接:https://pan.quark.cn/s/19a303ff81fc 三、VSCode安装 1.解压安装文件:双击打开并安装VSCode 2.勾选我同意协议:然后点击下一步 3.选择目标位置:点击浏览 4.选择D盘安装&…...
layui 表格点击编辑感觉很好用,实现方法如下
1. 在 HTML 页面中引入 layui 的相关资源文件:html <link rel"stylesheet" href"https://cdn.staticfile.org/layui/2.5.6/css/layui.css"> <script src"https://cdn.staticfile.org/layui/2.5.6/layui.js"></script&…...
三十一、构建完善微服务——API 网关
一、API 网关基础 系统拆分为微服务后,内部的微服务之间是互联互通的,相互之间的访问都是点对点的。如果外部系统想调用系统的某个功能,也采取点对点的方式,则外部系统会非常“头大”。因为在外部系统看来,它不需要也没…...
非对称之美(贪心)
非对称之美(贪心) import java.util.*; public class Main{public static void main(String[] arg) {Scanner in new Scanner(System.in);char[] ch in.next().toCharArray(); int n ch.length; int flag 1;for(int i 1; i < n; i) {if(ch[i] ! ch[0]) {flag …...
详细教程-Linux上安装单机版的Hadoop
1、上传Hadoop安装包至linux并解压 tar -zxvf hadoop-2.6.0-cdh5.15.2.tar.gz 安装包: 链接:https://pan.baidu.com/s/1u59OLTJctKmm9YVWr_F-Cg 提取码:0pfj 2、配置免密码登录 生成秘钥: ssh-keygen -t rsa -P 将秘钥写入认…...
C#桌面应用制作计算器进阶版01
基于C#桌面应用制作计算器做出了少量改动,其主要改动为新增加了一个label控件,使其每一步运算结果由label2展示出来,而当点击“”时,最终运算结果将由label1展示出来,此时label清空。 修改后运行效果 修改后全篇代码 …...
[开源] 告别黑苹果!用docker安装MacOS体验苹果系统
没用过苹果电脑的朋友可能会对苹果系统好奇,有人甚至会为了尝鲜MacOS去折腾黑苹果。如果你只是想体验一下MacOS,这里有个更简单更优雅的解决方案,用docker安装MacOS来体验苹果系统。 一、项目简介 项目描述 Docker 容器内的 OSX(…...
多模态大模型(4)--InstructBLIP
BLIP-2通过冻结的指令调优LLM以理解视觉输入,展示了在图像到文本生成中遵循指令的初步能力。然而,由于额外的视觉输入由于输入分布和任务多样性,构建通用视觉语言模型面临很大的挑战。因而,在视觉领域,指令调优技术仍未…...
【Linux】基于 Busybox 构建嵌入式 Linux(未完成)
嵌入式 Linux 1.需要 Toolchain 2.需要 Bootloader 3.需要嵌入式 Linux 基本组件: Linux kernelDTBRoot filesystem InitShellDaemonShared librariesConfiguration fileDevice nodeproc and sysKernel Module 基于 Busybox 构建 1.编译 Linux kernel 2.编译 …...
Unet++改进38:添加GLSA(2024最新改进方法)具有聚合和表示全局和局部空间特征的能力,这有利于分别定位大目标和小目标
本文内容:添加GLSA注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 基于变压器的模型已经被广泛证明是成功的计算机视觉任务,通过建模远程依赖关系和捕获全局表示。然而,它们往往被大模式的特征所主导,导致局部细节(例如边界和小物体)的丢失…...
c++中mystring运算符重载
#include <iostream> #include <cstring>using namespace std;class mystring {char* buf; public:mystring(); //构造函数mystring(const char * str); //构造函数mystring(const mystring& str); //深拷贝函数void show(); //输出函数void setmystr(const my…...
图像处理 - 色彩空间转换
色彩空间转换的含义与原理 色彩空间转换是指将一种颜色模型或表示方式中的颜色数据映射到另一种颜色模型中的过程。色彩空间(Color Space)本质上是一个三维坐标系统,每个点都表示图像中的某种颜色。在实际应用中,由于不同的色彩空…...
MariaDB面试题及参考答案
什么是 MariaDB? MariaDB 是一个开源的关系型数据库管理系统,它是 MySQL 数据库的一个分支。它的主要目的是存储和管理数据,采用了关系模型,数据存储在表中,表之间可以通过关联建立关系。 从起源来讲,Maria…...
PostgreSQL常用字符串函数与示例说明
文章目录 coalesce字符串位置(position strpos)字符串长度与大小写转换去掉空格(trim ltrim rtrim)字符串连接(concat)字符串替换简单替换(replace)替换指定位置长度(overlay)正则替换(regexp_replace) 字符串匹配字符串拆分split_part(拆分数组取指定位置的值)string_to_array…...
力扣第58题:最后一个单词的长度
力扣第58题是 最后一个单词的长度,具体要求是给定一个字符串,找到其最后一个单词的长度。 题目描述 输入:一个由字母和空格组成的字符串 s,可以包含大小写字母和若干空格。 输出:最后一个单词的长度。 注意…...
【Maven】Nexus几个仓库的介绍
在 Nexus 仓库管理器中,maven-central、maven-public、maven-releases 和 maven-snapshots 是常用的 Maven 仓库类型。每个仓库都有其特定的用途和功能。以下是对这些仓库的详细介绍: 1. maven-central 类型:代理仓库(Proxy Rep…...
SSH免密登陆
一、生成SSH密钥对 在客户端主机 ClientHost上,以 root用户身份生成SSH密钥对: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" # -t rsa:指定使用RSA算法 # -b 4096:指定密钥长度为4096位 # -C ""…...
【Linux】Namespace
一、概念 Linux Namespace 是 Linux 内核提供的一种特性,用于对系统资源进行隔离。通过 Namespace,不同的进程组可以拥有独立的系统资源视图,即使它们在同一台物理机器上运行。这种隔离机制使得容器技术成为可能,因为它允许在单个…...
突破性3D建模技术:Wonder3D如何通过单张图像实现高质量三维重建
突破性3D建模技术:Wonder3D如何通过单张图像实现高质量三维重建 【免费下载链接】Wonder3D Single Image to 3D using Cross-Domain Diffusion 项目地址: https://gitcode.com/gh_mirrors/wo/Wonder3D 在数字内容创作领域,从二维图像到三维模型的…...
抖音无水印视频下载器技术架构深度解析:从HTTP解析到跨平台应用实现
抖音无水印视频下载器技术架构深度解析:从HTTP解析到跨平台应用实现 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader …...
CentOS 7 编译 Linux 5.15 内核遇 BTF 报错?别慌,这份保姆级排错指南帮你搞定 dwarves 和 pahole
CentOS 7 编译 Linux 5.15 内核 BTF 报错全攻略:从 dwarves 编译到环境修复 在 CentOS 7 上手动编译较新版本的 Linux 内核(如 5.15 系列)时,启用 BTF(BPF Type Format)功能经常会遇到各种依赖问题。本文将…...
5款Umi-OCR插件全解析:让文字识别效率提升300%的实用指南
5款Umi-OCR插件全解析:让文字识别效率提升300%的实用指南 【免费下载链接】Umi-OCR_plugins Umi-OCR 插件库 项目地址: https://gitcode.com/gh_mirrors/um/Umi-OCR_plugins 为什么你的文字识别总是效率低下? 还在为图片转文字耗时过长而抓狂&am…...
ChatTTS合成速度优化实战:从音频流处理到并行计算
最近在项目中用到了ChatTTS进行语音合成,效果确实不错,但遇到一个很实际的问题:合成速度太慢,尤其是处理长文本时,等待时间让人有点抓狂。于是花了一些时间研究优化方案,把整个探索过程和最终落地的方案记录…...
RK3568 Android12长按电源键无反应?三步搞定关机菜单恢复
RK3568 Android12电源键功能失效排查与深度修复指南 在RK3568平台上进行Android12系统定制时,电源键功能异常是开发者常遇到的典型问题。不同于简单的功能缺失,这背后涉及系统级行为配置、手势交互逻辑和硬件抽象层的多层级适配。本文将带您从现象溯源到…...
ncmdumpGUI:实现NCM格式自由转换的音频解决方案
ncmdumpGUI:实现NCM格式自由转换的音频解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 痛点剖析:NCM格式的技术民主化阻碍 格…...
MogFace人脸检测惊艳效果:CVPR22模型在极端光照(强逆光/频闪光)下的人脸召回提升实测
MogFace人脸检测惊艳效果:CVPR22模型在极端光照(强逆光/频闪光)下的人脸召回提升实测 你有没有遇到过这样的场景?在逆光下拍的照片,人脸黑成一团,或者是在闪烁的灯光下,人脸忽明忽暗࿰…...
LangGraph Platform本地部署实战:用Docker和CLI快速搭建你的第一个AI Agent微服务
LangGraph Platform本地部署实战:从开发到生产的AI Agent微服务架构 在AI应用开发领域,快速将原型转化为可部署的服务是每个开发者面临的挑战。LangGraph Platform作为LangChain生态中的工作流编排工具,其本地部署能力为开发者提供了从开发环…...
YOLOv8鹰眼检测效果展示:看AI如何从复杂场景中找出所有目标
YOLOv8鹰眼检测效果展示:看AI如何从复杂场景中找出所有目标 1. 引言:当AI拥有“鹰眼” 想象一下,在一张熙熙攘攘的街景照片里,你能一眼就数清有多少行人、多少车辆、多少交通标志吗?或者,在一张布满微小电…...
