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

day37-框架

0目录

框架

1.框架介绍

2. SSM三大框架简介

3.Mybatis

4.拓展

1.框架介绍

1.1  为什么使用框架?

(1)框架效率高,成本低

(2)框架是别人写好的构建,我们只需学会如何使用它(可维护性高)

(3)框架是基于MVC的思想(web层独有的思想)的拓展而开发的,兼容性极高

(4)框架包含有MVC思想中的所有组成模块:控制层、模型层、视图层

(5)拓展:Spring,Mybatis,SpringMVC框架集合中:

Spring的位置:业务层(模型层)

SpringMVC的位置:控制层/模型层/视图层

Mybatis的位置:持久层(模型层)

2.SSM三大框架简介

2.1  Spring框架:

(1)AOP:控制反转;IOC:面相切面

(2)实现MVC中的业务层模块(service层)

2.2  SpringMVC框架:

(1)基于MVC思想的Web框架

(2)实现MVC思想中的控制层(controller)、模型层(entity,dao,service)、视图层(jsp)

2.3  Mybatis框架:

(1)半自动ORM框架

拓展1:ORM:对象:java对象   关系    映射:xml)

拓展2:Mybatis是半自动的,Hibernate是全自动

拓展3:Mybatis和Hibernate框架的区别是Mybatis是灵活的可以手工维护的框架,而Hibernate是高度封装的框架,无法灵活变动(很多复杂的功能模块无法实现)

(2)实现MVC思想中的持久层(模型层)

3.Mybatis

3.1  核心对象:

SqlSessionFactoryBuilder

SqlSessionFactory

SqlSession:Mybatis应用的核心

3.2  核心配置文件:xml

核心要点:搭建Mybatis环境必备的配置文件

3.3  映射文件:UserMapper.xml

3.4  Mybatis实战

(1)创建Maven工程,创建包,导入依赖

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.5.1</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.36</version>
</dependency>

(2)mapper中的PersonMapper接口

(3)PersonMapper映射(resultType返回值)

(4)mybatis-config配置文件:注意mappers中的路径格式

(5)TestMybatis测试

3.5  改造实现添加

(1)接口中添加方法

(2)添加无返回值,但是有参数,parameterType为参数及实体类路径

(3)添加有事务,需要手动提交

3.6  实现删除

3.7  实现修改

3.8  实现查询所有

3.9  实现查询单条数据

3.10  实现模糊查询

3.11  日志

代码:

<!--setttings:控制mybatis全局配置行为-->
<settings>
    <!--设置mybatis输出日志-->
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

运行测试后,控制台会生成日志:

3.12  工具类MybatisUtil

实现所有功能:

4.拓展

4.1 拓展:$用法

(1)方法中参数加入注解@Param("colName"),表示识别xml中对应的${}

(2)使用注解后,不需要加入参数parameterType

4.2  拓展properties:将连接数据库驱动文件封装在resources中,在config文件中使用

相关文章:

day37-框架

0目录 框架 1.框架介绍 2. SSM三大框架简介 3.Mybatis 4.拓展 1.框架介绍 1.1 为什么使用框架&#xff1f; &#xff08;1&#xff09;框架效率高&#xff0c;成本低 &#xff08;2&#xff09;框架是别人写好的构建&#xff0c;我们只需学会如何使用它&#xff08;可维护性…...

基于STM32单片机的智能家居烟雾温度火灾防盗报警的设计与实现

功能介绍 以STM32单片机作为主控系统&#xff1b;LCD1602液晶显示屏来显示显示测得的值&#xff1b;SR501人体红外感应是否有人进行防盗&#xff1b;通过烟雾传感器MQ-2获取前的烟雾值&#xff1b;通过DHT11温湿度传感器来获取当前的温湿度&#xff1b;所有的信息通过通过esp82…...

jenkins 采用ssh方式连接gitlab连接不上

一、gitlab 添加jenkins服务器的公钥 jenkins 生成秘钥命令 ssh-keygen -t rsa2.jenkins 秘钥地址&#xff1a; cd /root/.ssh3.复制公钥 到gitlab 添加 cat id_rsa_pub4.添加私钥到jenkins cat id_rsa5.绑定&#xff08;顺利的话到这里就结束了&#xff09; &#xff0…...

前缀和模板算法

一)模板前缀和 【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 前缀和:快速的得出数组中某一段连续区间的和 暴力破解的话需要从头到尾的进行遍历&#xff0c;时间复杂度就可以达到O(N)&#xff0c;而前缀和时间复杂度是可以达到O(1)的 第一步:预处理创建出一个前缀和数组dp&a…...

SpringBoot 启动输出 Git 版本信息(2023/07/11)

SpringBoot 启动输出 Git 版本信息 文章目录 SpringBoot 启动输出 Git 版本信息1. 环境依赖2. pom.xml 配置3. 启动类配置 为了方便记录项目打包时的 Git 版本&#xff0c;本文将介绍如何将 Git 版本信息打包进 JAR 文件&#xff0c;并在项目启动时输出。 1. 环境依赖 SpringB…...

SSH客户端连接远程服务器

目录 一、什么是客户端连接远程服务器 二、什么是服务端连接远程服务器 三、查看网络信息 1、图形程序查看网络信息 2、命令查看网络信息 四、SSH客户端&#xff08;Linux&#xff09; 五、SSH客户端&#xff08;windows&#xff09; 六、SSH远程服务器 一、什么是客户…...

“深入理解Redis:高性能缓存与数据存储的秘密“

标题&#xff1a;深入理解Redis&#xff1a;高性能缓存与数据存储的秘密 在现代应用程序的开发中&#xff0c;缓存和数据存储是非常重要的组成部分。它们不仅可以提高应用程序的性能&#xff0c;还可以减轻数据库和网络的负载。其中&#xff0c;Redis作为一种高性能的内存数据存…...

【论文阅读笔记】Attack-Resistant Federated Learning with Residual-based Reweighting

个人阅读笔记&#xff0c;如有错误欢迎指出 Arxiv 2019 [1912.11464] Attack-Resistant Federated Learning with Residual-based Reweighting (arxiv.org) 问题&#xff1a; 联邦学习容易受到后门攻击 创新&#xff1a; 提出一种基于残差的重新加权聚合算法 聚合算法…...

DevOps B站学习版(二)

学习地址&#xff1a; 01.DevOps的诞生_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Pt4y1H7Zq/?p1&vd_source1f09c23f556b3d6a9b7706f8db12fa54%E3%80%81 正文开始 找到这个地方&#xff0c;修改 可以写成基于标签拉取和构建工程&#xff0c;下面也选择Tag即可…...

MySQL(一)基本架构、SQL语句操作、试图

MySQL系列文章 MySQL&#xff08;一&#xff09;基本架构、SQL语句操作、试图 MySQL&#xff08;二&#xff09;索引原理以及优化 MySQL&#xff08;三&#xff09;SQL优化、Buffer pool、Change buffer MySQL&#xff08;四&#xff09;事务原理及分析 MySQL&#xff08;五&a…...

MySQL事务基础知识

文章目录 一、事务简介二、事务操作1.查看事务提交方式2.设置事务提交方式3.开启事务4.提交事务5.回滚事务 三、事务四大特性ACID四、并发事务的问题五、并发事务隔离级别六、代码实例1.脏读实例2.不可重复读实例3.幻读的实例4.串行化的实现 一、事务简介 事务是一组操作的集合…...

form表单禁止浏览器自动填充密码

因为用户修改密码的时候,谷歌浏览器、edge等浏览器,总是自动将保存的密码填充到重置密码输入框中,给用户使用带来困扰。原因是因为你在登录的时候选择记住了账号和密码了,所以就会把信息存在浏览器里面,当你在修改密码的时候,由于form表单的 type="password" 所…...

ios oc button 设置

Button调整内部的子控件的位置...

山西电力市场日前价格预测【2023-07-17】

日前价格预测 预测明日&#xff08;2023-07-17&#xff09;山西电力市场全天平均日前电价为335.50元/MWh。其中&#xff0c;最高日前电价为377.51元/MWh&#xff0c;预计出现在06: 00。最低日前电价为271.94元/MWh&#xff0c;预计出现在13: 30。 价差方向预测 1&#xff1a;实…...

vue3功能实现

在vue2中&#xff0c;要实现一些方法&#xff08;增删改查&#xff09;一般都是写在一起的。如下图所示&#xff1a; 但是在vue3中&#xff0c;实现一个方法需要用到很多文件。 方法定义方法如下&#xff1a; export function classSign(phone: string) {return sign_reques…...

微服务系列文章 之 SpringCloud中遇到的一些bug

1、There was a problem with the instance info replicator 错误原因&#xff1a; 该服务尝试将自己作为客服端注册解决办法&#xff1a; 在application.yml配置文件中&#xff0c;设置 # 注册Eureka服务 eureka:client:# Eureka服务注册中心会将自己作为客户端来尝试注册它自…...

Linux——权限

目录 1.Shell运行原理——外壳程序 2.权限 2.1对人操作 2.2对角色和文件操作 3.常见权限问题 1.Shell运行原理——外壳程序 首先我们要明确一个概念&#xff0c;我们不是直接访问操作系统。为什么&#xff1f; 对于Windows我们是使用GUI进行操作&#xff0c;Shell对于Li…...

[英语单词] components;

*[kәm’pәunәnt] n. 元件, 组件, 成分 a. 组成的, 构成的 【计】 组件 【化】 组分 【医】 成分; 组元(神经元组) 有很多地方使用这个单词&#xff0c;在组成整体时&#xff0c;作为单位一内的占有比率。那为什么不用portion&#xff1f; 这样每一个组成部分都是一个compon…...

【观察者模式】 ——每天一点小知识

&#x1f4a7; 观察者模式 \color{#FF1493}{观察者模式} 观察者模式&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的博客&#x1f390; &#x1f433; 《数据结构与算法》专栏的文章图文并茂&#x1f995;…...

el-ment ui 表格组件table实现列的动态插入功能

在实际需求中我们经常遇到各种奇葩的需求&#xff0c;不足为奇。每个项目的需求各不相同&#xff0c;实现功能的思路大致是一样的。 本文来具体介绍怎么实现table表格动态插入几列。 首先实现思路有2种&#xff0c; 1. 插入的位置如果是已知的&#xff0c;我知道在哪个标题的…...

服务器中僵尸网络攻击是指什么?

随着网络业务的不断发展&#xff0c;网络攻击的手段也变得越来越多&#xff0c;各个企业都会受到网络攻击的威胁&#xff0c;其中常见的网络攻击主要有DDOS攻击和CC攻击等类型&#xff0c;今天小编则为大家来介绍僵尸网络攻击是指什么&#xff01; 僵尸网络主要是指采用一种或者…...

MySQL的日志

就相当于人的日记本&#xff0c;记录每天发生的事&#xff0c;可以对数据进行追踪 一、错误日志 也就是存放错误信息的 二、二进制日志-binlog 在低版本的MySQL中&#xff0c;二进制日志是不会默认开启的 存放除了查询语句的其他语句 三、查询日志 查询日志会记录客户端的所…...

使用 Ansible 在 Windows 服务器上安装 SSL 证书系列之二

今天带大家实战一下如何通过ansible在windows 服务器上给iis web site安装证书。 前提条件: 准备一张pfx证书,可以通过openssl工具来生成,具体的步骤请参考帮助文档。一台安装了iis 的windows 服务器 准备inventory文件 [windows] solarwinds ansible_host=20.47.126.72 a…...

深入解析Java21核心新特性(虚拟线程,分代 ZGC,记录模式模式匹配增强)

文章目录 前言一、虚拟线程 (Virtual Threads - JEP 444) - 并发的革命1.1 解决的核心问题&#x1f3af;1.2 工作原理与核心机制⚙️1.3 使用详解与最佳实践&#x1f6e0;️1.4 注意事项⚠️1.5 总结 &#x1f4da; 二、分代 ZGC (Generational ZGC - JEP 439) - 低延迟新高度2…...

android 之 MediaExtractor

MediaExtractor 是Android多媒体处理的基础组件&#xff0c;解封装是其核心价值。 一、功能与定位 MediaExtractor 是Android多媒体框架中的媒体解封装工具&#xff0c;主要作用是从媒体文件&#xff08;如MP4、MKV、MP3&#xff09;中分离音视频轨道数据&#xff0c;为后续解…...

Spring Boot 从Socket 到Netty网络编程(下):Netty基本开发与改进【心跳、粘包与拆包、闲置连接】

上一篇&#xff1a;《Spring Boot 从Socket 到Netty网络编程&#xff08;上&#xff09;&#xff1a;SOCKET 基本开发&#xff08;BIO&#xff09;与改进(NIO)》 前言 前文中我们简单介绍了基于Socket的BIO&#xff08;阻塞式&#xff09;与NIO&#xff08;非阻塞式&#xff0…...

(新手友好)MySQL学习笔记(6):分组查询,正则表达式

目录 分组查询 创建分组 过滤分组 分组查询练习 正则表达式 匹配单个实例 匹配多个实例 正则表达式练习 练习答案 分组查询练习答案 正则表达式练习答案 分组查询 创建分组 group by 子句&#xff1a;根据一个或多个字段对结果集进行分组&#xff0c;在分组的字段上…...

台式机电脑CPU天梯图2025年6月份更新:CPU选购指南及推荐

组装电脑选硬件的过程中,CPU的选择无疑是最关键的,因为它是最核心的硬件,关乎着一台电脑的性能好坏。对于小白来说,CPU天梯图方便直接判断两款CPU性能高低,准确的说,是多核性能。下面给大家分享一下台式机电脑CPU天梯图2025年6月版,来看看吧。 桌面CPU性能排行榜2025 台…...

阿里云 Linux 搭建邮件系统全流程及常见问题解决

阿里云 Linux 搭建 [conkl.com]邮件系统全流程及常见问题解决 目录 阿里云 Linux 搭建 [conkl.com]邮件系统全流程及常见问题解决一、前期准备&#xff08;关键配置需重点检查&#xff09;1.1 服务器与域名准备1.2 系统初始化&#xff08;必做操作&#xff09; 二、核心组件安装…...

【系统架构设计师】绪论-系统架构概述

目录 绪论 系统架构概述 单选题 绪论 系统架构概述 单选题 1、软件方法学是以软件开发方法为研究对象的学科。其中&#xff0c;&#xff08;&#xff09;是先对最高居次中的问题进行定义、设计、编程和测试&#xff0c;而将其中未解决的问题作为一个子任务放到下一层次中去…...