在springboot底层无论关系型还是非关系型数据库都是用spring-data进行交互

新建:

通过spring initialer勾选重要依赖jdbc api和mysql driver:

源码分析-设置数据源配置:

通过源码可以看到我们一个通过spring.datasource.xxx来设置我们的yaml配置文件

同时我们可以观察到默认数据源是:

 整合案例一:

1.yaml文件:

2.在controller层增删改查:

思考:在没有创建pojo实体类情况下,怎么才能获取数据库表信息并操作之?

答案:map

代码

package com.lian.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@RestController//@RestController=@Controller+@ResponseBody
public class JDBCController {
@Autowired
JdbcTemplate jdbcTemplate;
@RequestMapping("/userlist")
public List<Map<String,Object>> list(){
String sql="select * from user";
List<Map<String,Object>> mapList=jdbcTemplate.queryForList(sql);
return mapList;
} @RequestMapping("/useradd")
public String add(){
String sql="insert into user (id, name, pwd) VALUES (11,'消息','dddadd')";
jdbcTemplate.update(sql);
return "add-ok";
}
@RequestMapping("/userdel/{id}")
public String del(@PathVariable("id") int id){
String sql="delete from user where id="+id;
jdbcTemplate.update(sql);
return "del-ok";
}
@RequestMapping("/userupdate/{id}")
public String update(@PathVariable("id") int id){
String sql="update user set name=?,pwd=? where id="+id; Object[] objects=new Object[2];
objects[0]="小明";
objects[1]="skdncc";
jdbcTemplate.update(sql,objects);
return "update-ok";
}
}

总结:

在springboot整合jdbc思路:
1.在创建项目时勾选两个依赖包:Mysql.driver和JDBC.API
2.在配置文件application.properties或者application.yaml配置连接数据库的4要素:
url,username,password,driver-class-name,注意这4要素都在spring.datasource下
3.在controller层调用jdbc模板类 JdbcTemplate 的方法:查询是queryForList,增删改是update方法

springboot 整合jdbc的更多相关文章

  1. springboot整合JDBC出现Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.

    今天使用springboot整合JDBC的使用,开始使用的是 com.mysql.jdbc.Driver驱动 结果运行出现此异常 那我们根据提示要求来修改即可 把驱动改成最新的com.mysql.cj ...

  2. 3、SpringBoot整合之SpringBoot整合JDBC

    SpringBoot整合JDBC 一.创建SpringBoot项目 选择Spring Web.JDBC API.MySQL Driver 二.在pom配置文件中修改JDBC版本,导入lombok &l ...

  3. SpringBoot 整合jdbc和mybatis

    摘要 该文章主要为记录如何在SpringBoot项目中整合JDBC和MyBatis,在整合中我会使用简单的用法和测试用例,毕竟该文章目的是为了整合,而不是教大家如何去使用.希望大家多多包涵. 通用配置 ...

  4. SpringBoot整合jdbc及整合Druid数据源

    一.整合jdbc 1.创建一个springInitializr项目 勾选 web----springweb.SQL----JDBC API,MYSQL Diver 2.连接数据库 3.创建yml 4. ...

  5. 9 — springboot整合jdbc、druid、druid实现日志监控 — 更新完毕

    1.整合jdbc.druid 1).导入依赖 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  6. SpringBoot整合Jdbc

    (1).添加相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  7. SpringBoot整合JDBC模板

    目录 Grade实体类 public class Grade { private Integer gradeId; private String gradeName; public Grade(){ ...

  8. SpringBoot整合JDBC-调用数据库

    SpringData 对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理. Sprin ...

  9. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

  10. spring-boot整合mybatis(1)

    sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置.接下来开始spring-boot与mybatis的整合. 1.创建一个maven工程命名为spring-boot- ...

随机推荐

  1. Javaweb学习笔记第九弹

    MyBatis案例--环境准备 1.依据之前在Navicat建立数据表的方法,新建立一个数据表 2.将数据表的相关内容表现在Java文件的实例上:即成员变量和set.get成员方法 3.new一个测试 ...

  2. 前端开发工具 VS Code 安裝及使用

    一.下载地址 https://code.visualstudio.com/ 下载完后,傻瓜式安装即可 关注公众号"Java程序员进阶"回复"vs"也可获取 二. ...

  3. 华为Sound Joy用后感

    在买华为Sound Joy音响前,我就在几个相似的音响之中衡量,其中有MIFA WildRod和JBL 万花筒6做了对比,在经过一系列的对比(网上查阅资料)之后,我最终选择了华为的Sound Joy这 ...

  4. 剑指 offer 第 2 天

    第 2 天 链表(简单) 剑指 Offer 06. 从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2, ...

  5. Linux环境下使用jsoncpp

    目录 1. 下载jsoncpp 2. 生成静态库libjsoncpp.a 3. 复制相关文件至/usr/local下(方便编程) 4. CMakeList.txt编写(需要新增的) 1. 下载json ...

  6. PDF打开后显示的名称不是其文件名怎么办?

      本文介绍打开PDF文件时,PDF阅读器所显示的文件名称与文件实际名称不一致的解决办法.   就在刚刚准备一篇空间三维建模相关的博客时,偶然发现了如下一个问题:   在打开这个图中名称为空间三维建模 ...

  7. vue之input输入框的几个事件

    目录 事件简介 示例 事件简介 click 点击事件,一般不会用于input输入框,会用于按钮,用于输入框就有点像focus了,当点击输入框时会触发 blur 失去焦点事件,当失去焦点时会触发. fo ...

  8. 利用 kubeadm 创建 kubernetes (k8s) 的高可用集群

    引言: kubeadm提供了两种不同的高可用方案. 堆叠方案:etcd服务和控制平面被部署在同样的节点中,对基础设施的要求较低,对故障的应对能力也较低 堆叠方案 最小三个Master(也称工作平面), ...

  9. [Tomcat/Java EE/Linux]Tomcat启动异常:StandardServer.await: create[localhost:8005]: java.net.BindException: 无法指定被请求的地址

    1 问题背景 部门新成员小J在一台虚拟机(ip:192.168.191.96)内安装部署部门的数据治理产品(含: 20余个微服务模块 + 1套(用户)基础管理系统BMS). 小J启动BMS的Tomca ...

  10. [Linux]ln:软链接与硬链接

    1 硬链接与软链接的[语法] 软链接:ln -s 源文件 目标文件 硬链接:ln 源文件 目标文件 [-s : symbolic,符号/代号] 2 软链接/硬链接的[比喻] / (编辑)同步性 [ro ...