当前位置: 首页 > news >正文

SpringBoot学习(三)-整合JDBC、Druid、MyBatis

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!!

一、整合JDBC使用(理解)

在这里插入图片描述

创建项目
在这里插入图片描述
在这里插入图片描述

勾选依赖启动器
在这里插入图片描述

查看依赖
在这里插入图片描述

1、配置连接数据库的信息

  • 选择数据库
    在这里插入图片描述

  • 挑选mysql版本

在这里插入图片描述

2、调试数据源

  • 测试数据源
    在这里插入图片描述

  • 获得数据库的连接,查看连接

在这里插入图片描述

  • 修改时区,否则会出现版本报错
  • 假如时区报错,增加一个时区配置就ok了:serverTimezone=UTC

在这里插入图片描述

可以运行看看,有没报错

3、查看源码,理解底层配置信息

在这里插入图片描述
在这里插入图片描述

  • 套路:有properties,就会有某某AutoCofiguration

在这里插入图片描述

  • 要进去java文件里面看,而不是进类里面看

在这里插入图片描述

4、springboot已经配置好许多模板bean,拿来即用 CRUD

在这里插入图片描述

  • 看jar包

在这里插入图片描述

在这里插入图片描述

  • 使用jdbcTemplate模板,需要的配置信息

在这里插入图片描述

  • 导入springboot-web依赖

在这里插入图片描述

  • 点进去看一下JDBCTemplate的方法

在这里插入图片描述

  • 点开结构看一下

在这里插入图片描述

1)测试数据库的操作
①查询数据库信息

在这里插入图片描述

  • 注:只是修改数据库,不需要重启项目,数据库才是最重要的

在这里插入图片描述

②增加数据库信息

在增加信息的时候,jdbc可以直接写sql,不需要传值

在这里插入图片描述

springboot已经把很多操作封装成jdbcTemplate了,很多步骤可以省略了

③更新数据库消息

在这里插入图片描述

点进去看一下update

在这里插入图片描述

在这里插入图片描述

  • 方法1:直接在sql语句上写数据
  • 方法2:原生的jdbc执行sql语句和传递参数的方法,来写数据

在这里插入图片描述

④删除数据库信息

在这里插入图片描述

效果:链改接参数就可以了

在这里插入图片描述

再查看一下源码:
查看下内置导入的包

在这里插入图片描述

去配置文件修改即可在这里插入图片描述

自定义配置的要求:

在这里插入图片描述

  • spring.datasource.type=???

二、整合Druid数据源

1、了解数据源

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • d导入依赖Druid数据源,用最新的,报错再降级
  • 看源码,提升快
  • 看别人的包,理解一下,看看需要配什么等等
  • filter:用来监控的
    在这里插入图片描述

2、更改数据源

在这里插入图片描述

  • 测试:

在这里插入图片描述

3、添加Druid的默认配置

在这里插入图片描述

  • 在博客中找找

1)导入log4j依赖

在这里插入图片描述

4、测试Druid数据源下的配置功能

  • @Configuration==相当于以前的bean.xml中的配置,现在都简化了

1)实现application.yaml与DruidConfig绑定在一起

  • 将DruidConfig绑定在一个bean上,跟配置文件一起,就能绑上了

  • 如果想使用一些私有化属性,如果不配置的话,私有化属性不会生效

  • 在这里插入图片描述
    在这里插入图片描述

  • 将druidDataSource加入到容器当中,就不需要springboot帮我们加到容器中了

2)后台监控

①配置后台监控

后台监控页面都写好了,直接拿来用就好

在这里插入图片描述

在这里插入图片描述

  • 后台监控这个ServeletRegistrationBean的方法,了解方法

    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 设置初始化参数setInitParameters()

在这里插入图片描述

  • 看源码,需要什么,给什么

在这里插入图片描述

②添加具体配置

在这里插入图片描述

在这里插入图片描述

③访问后台监控

在这里插入图片描述

在这里插入图片描述

测试一下sql:

在这里插入图片描述

在这里插入图片描述

④小结:想注册什么,new就完事了

在这里插入图片描述

⑤注册过滤请求的

在这里插入图片描述

加入最重要的东西

在这里插入图片描述

三、整合mybatis

1、准备工作

1)创建新项目

在这里插入图片描述

2)勾选依赖

  • JDBC API
  • Spring Web
  • MySQL driver

在这里插入图片描述

3)浏览官方文档

4)导入依赖

在这里插入图片描述

5)配置全局配置文件

在这里插入图片描述

6)测试连接效果

在这里插入图片描述

在这里插入图片描述

2、使用mybatis连接MySQL

1)连接上mybatis

在这里插入图片描述

2)构造实体类

在这里插入图片描述

在这里插入图片描述

构造mapper接口类(mapper层=dao层)

  • 扫描接口下的包的方式

第一种接口扫描包的方式:直接在包的类名上扫描,加个@Mapper

在这里插入图片描述

第二种方式:在启动类里启动扫描具体的包名

在这里插入图片描述

在这里插入图片描述

  • 之前的spring里面,接口map或者dao都会有对应的mapper.xml文件在同一个文件夹里面
  • 现在,统一在resource里创建mapper,在里面创建.xml文件(写在resource里面,就不能用class来访问了,不能将注解和class同时使用)

3、构造对应的mapper.xml文件

1)去官方找文档,复制.xml的基本格式

在这里插入图片描述

在这里插入图片描述

  • mapper namespace=“指定的mapper文件名”

在这里插入图片描述

4、在全局配置文件中,这和mybatis

在这里插入图片描述

5、构造controller层

  • controller在后端(dao)与前端(页面)之间

在这里插入图片描述

在这里插入图片描述

  • 由于SpringBoot集成了事务,所以修改数据库等操作,不需要用户添加事务处理了
    基本流程:链接→controller→mapper层(mapper接口→mapper.xml)→数据库

将数据库连接添加到员工管理系统

  • 全局配置文件的东西一定要一样

在这里插入图片描述

  • 刚写的项目里面没有service层,直接是,controller调用mapper层(dao层)的
  • 表单传入的属性会封装成一个对象,把属性添加表单就可
  • 实体类默认无参构造,无参构造可以在属性范围内随机的生成随机属性的对象,如果有需要的话。
  • 有参构造,一定要完整的属性,实体类才能封装成对象。
  • 除了可以用dao/mapper.xml以外,还可以使用@注解的方式(在接口的方法上面添加对应注解)

SpringBoot学习(三)-整合JDBC、Druid、MyBatis 开发的学习笔记到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

相关文章:

SpringBoot学习(三)-整合JDBC、Druid、MyBatis

注:此为笔者学习狂神说SpringBoot的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 一、整合JDBC使用(理解) 创建项目 勾选依赖启动器 查看依赖 …...

如何选择合适的语音呼叫中心?

市场上不同的语音呼叫中心提供商,都有其独特的优势和不足。企业在选择语音呼叫中心服务公司时,主要考虑以下因素:服务质量、价格、技术支持、客户支持等。 首先,服务质量是选择语音呼叫中心需关注的最重要因素之一。 为确保语音…...

使用qtquick调用python程序

一. 内容简介 使用qtquick调用python程序 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3pytorch 安装pytorch(http://t.csdnimg.cn/GVP23) 2.4QT 5.14.1 新版QT6.4,,6.5在线安装经常失败,而5.9版本又无法编译64位程序&#xf…...

【Axure高保真原型】树形表格_多选效果

今天和大家分享树形表格_多选效果的原型模板,点击树的箭头可以展开或者收起子节点,点击多选按钮可以选中或取消选择该行以及子级行内容,同时反选父级行内容,父级行内容能根据子级选中的数量自动反选,包括全选、半选和未…...

【Filament】加载obj和fbx模型

1 前言 3D 模型的常用格式主要有 obj、fbx、gltf 等,Filament 中的 filamesh.exe 工具可以将 obj、fbx 格式转换为 filamesh 格式,然后再加载显示。对于 gltf 格式模型,可以通过 ModelViewer 加载显示,这不在本文的讨论范围内。 1…...

[USACO04OPEN] The Cow Lineup

题目描述 约翰的 N ( 1 ≤ N ≤ 100000 ) N ( 1 \leq N \leq 100000 ) N(1≤N≤100000) 只奶牛站成了一列。每只奶牛都写有一个号牌,表示她的品种,号牌上的号码在 1 … K &#x…...

软件工具集合

代码文档自动生成工具: Doxygen download 软件分析工具: perf gdb flamegraph 代码量统计: vscode插件:VS Code Counter 代码备注 vsocde插件: Line Note...

C#利用openvino部署PP-TinyPose人体姿态识别

【官方框架地址】 github.com/PaddlePaddle/PaddleDetection 【算法介绍】 关键点检测算法往往需要部署在轻量化、边缘端设备上,因此长期以来都存在一个难题:精度高、速度则慢、算法体积也随之增加。而PP-TinyPose的出世彻底打破了这个僵局&#xff0c…...

MindSpore Serving与TGI框架 の 对比

一、MindSpore Serving MindSpore Serving是一款轻量级、高性能的服务工具,帮助用户在生产环境中高效部署在线推理服务。 使用MindSpore完成模型训练>导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。 MindSpore Serving包含以…...

两阶段提交协议三阶段提交协议

两阶段提交协议 分布式事务是指会涉及到操作多个数据库的事务,在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调。 XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数),交易…...

6-Docker Compose-tomcat application(指定官方镜像)

1.创建docker-compose.yml文件,添加如下内容并保存 vim docker-compose.yml [root@centos79 ~]# cat docker-compose.yml #yml文件 version: 3 #版本号,默认为3 services:tomcat-ztj: #定…...

宝塔安装的imagemagick不能用,必须自己手动安装

1 安装 用composer安装 2 宝塔安装的imagemagick不能用,必须自己手动安装(3.4.3版本 php 7.3) 1 步骤: wget https://pecl.php.net/get/imagick-3.4.3.tgz tar -zxf imagick-3.4.3.tgz cd imagick-3.4.3 /www/server/php/73…...

解决在test以外的目录下导入junit无效

以上引用来自src目录下的文件,可以看到,和junit有关的导入都飘红,但明明junit已经被正确导入进了项目中。 再看右侧的Maven的依赖下方,junit的右边有一个很不起眼的(test) 这是因为junit作为测试框架,可能包含仅适用于…...

docker 在线安装mysql 8.0.21版本

1、拉取mysql 8.0.21版本镜像 2、查看镜像 docker images 3、在宿主机 /usr/local/mysql 下的 conf 文件夹下,创建 my.cnf 文件,并编辑内容 [mysql] default-character-setutf8 [client] port3306 default-character-setutf8 [mysqld] port3306 se…...

WPF DatePicker与Calendar的使用和样式修改

什么是DatePicker,Calendar Calendar:日历(显示年月日视图控件)DatePicker:日期选择器(是一个更小的控件,点击控件时才会弹出一个日历) Calendar使用 常用属性 DisplayMode&#…...

从0开始python学习-40.通过正则表达式/json进行接口关联

目录 1. 正则表达式:使用re库(需安装-pip install re),只能提取字符串的数据。 1.1 re.seach:提取一个值,得到的是一个对象,通过下标group(1)取值,如果没有匹配到值则返回None 1.…...

【React系列】高阶组件

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 高阶组件 1.1. 认识高阶组件 什么是高阶组件呢?相信很多同学都听说过,也用过 高阶函数&…...

听GPT 讲Rust源代码--src/tools(38)

File: rust/src/tools/clippy/clippy_dev/src/lib.rs rust/src/tools/clippy/clippy_dev/src/lib.rs文件是Clippy开发工具的入口文件,其作用是提供Clippy开发过程中所需的功能和工具。Clippy是一个Rust代码的静态分析工具,用于提供各种有用的代码规范、编…...

.NET C# 如何获取object对象的数据

如何获取object对象的数据 在DAL层,一般会封装一些返回值,返回的类型就会为object ,但是需要其中的值进行判断 public static object SaveFileIns(string filepath){return new { path pathlist, file_name fileNamelist, Message "…...

使用IDEA创建使用 JDK8 的 2.x.x 版本的 Spring Boot 项目以及 Spring Boot 项目如何修改JDK版本

目录 一、在阿里云上官网上创建项目 二、将 IDEA 中创建项目的源地址修改为阿里云官网 三、创建 3.x.x 的项目之后修改配置降低至 2.7.x 版本和使用 JDK8(修改 Spring Boot 的 JDK 版本同理) 从上面的 Spring Boot 官网的截图中可以发现,自…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

ip子接口配置及删除

配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...