之前 我们说过spring贴心的内嵌了三种数据源形式 其中默认为HikariCP
其实 spring 也提供了持久化数据库连接技术 这个技术其实大部分都接触过 那就是 JDBC 随着时代的发展 用他的人也越来越少了
那么 我们要演示 JdbcTemplate
导入 mybatis 或 mybatis-plus 的片段 就要注掉了
一山不容二虎
之前讲的 数据源方面的 你什么都不引入 是没问题 因为他是spring内嵌
但是 如果你什么都不导入 你的项目中是没有JDBC的
那么 就会有人说了 你这不坑人吗? 不是说spring提供的JDBC吗?
没错 但是我们要手动导入spring提供的starter即可
<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 查多条
这里 我们搞个查询
参考代码如下
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 {@Testpublic 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提供的持久化技术