介绍java spring 提供的默认数据库持久化技术 JdbcTemplate基本演示

之前 我们说过spring贴心的内嵌了三种数据源形式 其中默认为HikariCP

其实 spring 也提供了持久化数据库连接技术 这个技术其实大部分都接触过 那就是 JDBC 随着时代的发展 用他的人也越来越少了

那么 我们要演示 JdbcTemplate

导入 mybatis 或 mybatis-plus 的片段 就要注掉了

一山不容二虎

之前讲的 数据源方面的 你什么都不引入 是没问题 因为他是spring内嵌

但是 如果你什么都不导入 你的项目中是没有JDBC的

那么 就会有人说了 你这不坑人吗? 不是说spring提供的JDBC吗?

没错 但是我们要手动导入spring提供的starter即可

xml 复制代码
<dependency>
  <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

它这东西我觉得做的是绝对合理的 因为你如果什么都不做 项目默认带个JDBC的包 那现在那么多人不用这个技术了 就很鸡肋了

这是一个操作数据库的模板对象 它里面的就是JDBC技术

配置文件 我们就恢复到最基础的样子就好了

首先就是 我们dao层写的 sql 本身是mybatis 或 mybatis-plus形式的

依赖没了 自然会报错 要注释掉 不然会报错

然后 我们在需要用它的地方 可以通过条件装配 弄成一个JdbcTemplate类对象

然后

如果你想执行修改语句 update

查询 query

queryForObject 查单条数据

queryForList 查多条

这里 我们搞个查询

参考代码如下

java 复制代码
package com.example.textm;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;
import java.util.Map;

@SpringBootTest
class TextMApplicationTests {

    @Test
    public void transferAmount(@Autowired JdbcTemplate JdbcTemplate) {
        List<Map<String,Object>> maps =  JdbcTemplate.queryForList("select * from staff");
        System.out.println(maps);
    }
}

这里 我们调用JdbcTemplate下的queryForList 查询多条 sql语句 select * from staff

然后 拿到的是一个 list Map

我们控制台输出一下看一下 运行代码

看着比较像前端控制台输出的 对象数组 哈哈哈

其实 目前 这种用法 返回一个MAP 是非常不好用的 一般如果你真的要用JDBC 不会这么去写

一般是query

好啦 再继续说就扯远了 要用的话 大家可以自己去看JdbcTemplate

这里只是告诉大家 spring提供的持久化技术

相关推荐
薛之谦_43 分钟前
Java 全栈知识体系:从 IDEA 高效开发到 JVM、并发与 Stream 实战
java·jvm·intellij-idea
Decay__4 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
茶栀(*´I`*)4 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
文丑颜不良啊5 小时前
LeetCode2761~2780题目解析
java·leetcode
艺杯羹5 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
IT枫斗者枫哥5 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
code2cat6 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
考虑考虑7 小时前
JDK27中的Set.ofLazy
java·后端·java ee
wuyk5558 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
文丑颜不良啊8 小时前
LeetCode2841~2860题目解析
java·leetcode