介绍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提供的持久化技术

相关推荐
小编码上说几秒前
LSH(局部敏感哈希)分桶,海量数据下的相似性搜索解决方案
java·spring boot·缓存·langchain4j·lsh·局部敏感哈希·ai调用优化
wangbing11255 分钟前
MySQL 官方 GPG 密钥过期问题
数据库·mysql
PaperData9 分钟前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
重生之我是Java开发战士9 分钟前
【MySQL】事务 & 用户与权限管理
android·数据库·mysql
计算机_毕业设计20 分钟前
java-springboot数字藏品系统 基于 SpringBoot 的区块链数字艺术品交易平台 Java 微服务架构下的加密藏品展示与拍卖系统计算机毕业设计
java·spring boot·课程设计
ONVO ncen20 分钟前
Redis6.2.6下载和安装
java
丑八怪大丑23 分钟前
JDK8-17新特性
java·开发语言
京师20万禁军教头34 分钟前
37面向对象(高级)-main方法
java
书源丶34 分钟前
三十五、Java 泛型——类型安全的「万能模板」
java·开发语言·安全
琢磨先生David38 分钟前
电信行业数据库开发的一些经验
数据库·数据库开发