SSM2

DataSource 

mybatis与Spring整合

事务加载业务层上面

开启事务驱动

上面都是声明式开启事务

图书管理系统

命名规范:

  • java命名规范:驼峰命名法类:大驼峰变量,属性名.方法名:小驼峰
    • 常量使用下划线分割:全大写,单词与单词之间下划线分割
  • 数据库命名规范:常用命名规范:下划线分割单词与单词之间下划线分割

加实体类:

加lombok依赖 Book类加@Data

加mapper接口:

char类型对应的java类型时String类型

包装类实现了Serlizable接口

使用继承接口 (继承时继承接口,接口不是实现接口)

xml配置

修改(ID不能改以外)

根据ID删除

使用ResultMap进行映射

根据Id进行查询

全部查询

mapper搞定

写service(基于接口进行类的隔离)

需要事务(基于xml的生成式事务或者基于注解的编程式事务)

实现添加

业务层要经行数据的转换

map不访问boolean  sql得到的永远的是收影响行数

基于声明式的注解事务

Spring与Web整合

交给Spring容器管理,床啊金一个监听器,当tomcat启动时创建,

基于beans要扫描service里面的注解

SpringMvc

spring不需要整合SpringMvc 后者是前者的一个子模块 无需整合

基于mvc注解驱动开发

1.使用注解的处理器适配器,注解的处理器映射器,不需要再SpringMVC的配置文件进行配置

2.处理器类不需要实现任何接口或者继承某些类,处理请求的方法,就是一个处理器,包含这些方法的类 称为Controller类,处理请求的方法任意的,个数任意,方法名任意,返回值任意,参数是任意的

在springMvc的配置文件当中加入

<mvc :annotation-driven/ >

加入命名空间mvc

MVC提供的注解

  1. @RequestMapping注解请求映射,给处理请求的方法绑定一个可以访问的url
  2. @RequestBody注解
  3. @ReponseBody注解
  4. ......

配置视图解析器(通过逻辑视图名去找物理视图,默认的跳转方式是转发) 

SpringMvc依赖找(视图找包)

InternalResourceViewResolver

加style、script文件

没登陆不可以访问

weapp目录下是公共访问 要私有访问->web-inf,它内部的资源浏览器不可以直接通过重定向方式直接访问,但是可以通过转发的方式进行一个访问

数据展示需要有控制

cart.html特殊设置

服务器报错:

加一个日志输出

控制台中红色输出的是tomcat 黑色的是日志

项目的index.jsp可以访问  但是你web-inf下的index.js不能被浏览器直接访问到

加入登陆注册页面到项目中(可以直接访问)

使用绝对路径

讲课

@RequestMapping注解

处理器绑定url 

value/path:绑定的url,默认值:方法名作为url

请求方式 -> 原先servlet的doget和doPost

只能处理POST请求

会报错405错误

既可以处理POST请求 又可以处理GET 请求

@RequestMapping提供扩展注解

  • GetMapping  处理请求方式:GET
  • @postMapping注解 处理post请求
  • @deleteMapping 处理delte请求
  • @PutMapping 处理put请求


method:设置处理器方法能处理的请求方式,默认值:处理任何请求方式

params:限制请求参数的条件

不仅可以加在方法上面(表示url) 可以加在方法上 -> ()

窄化请求

Controller类

1.Controller类方法的返回值类型

-> 返回modelandview

ModelAndView:

往request域添加数据,设置逻辑视图名

经过视图解析器,找物理视图,转发的方式

String

逻辑视图名 -> 经过视图解析器 -> 找物理视图名  通过转发的方式

不返回 void

经过视图解析器到test1.do (访问test2.do)

所以不能经过视图解析器

-> forward:"资源路径"  -> 不经过视图解析器,那么紫资源路径不是拼接的 资源会是完整的

return "forward:/test/test1.do"

字符串       逻辑视图名 -> 经过视图解析器 -> 找物理视图名  通过转发的方式

转发到指定资源(可以是jsp或者处理器)

重定向到指定资源(可以是jsp,处理器)“redirect :资源路径“

其他数据类型

只作为数据返回,配合ResponseBody

包括:

  1.  java提供简单数据类型
  2. 自定义类类型
  3. 集合类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/170019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Windows 常用工具系列 11 -- 福昕PDF搜索高亮过的文本】

文章目录 福昕 PDF 搜索高亮过的文本 福昕 PDF 搜索高亮过的文本 在 pdf 文档阅读过程中&#xff0c;我们需要经常高亮一些文本&#xff0c;以方便下次阅读时找到重点。我这边使用的是 福昕PDF 阅读器&#xff0c;下面就介绍下如何在福昕阅读器中搜索已经高亮过的文本。

基于单片机PM2.5监测系统仿真设计

**单片机设计介绍&#xff0c; 基于单片机PM2.5监测系统仿真设计 文章目录 一 概要简介设计目标系统组成工作流程仿真设计结论 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于单片机PM2.5监测系统仿真设计介绍 简介 PM2.5&#xff08;可吸…

Django实战:从零到一构建安全高效的Web应用

目录 一、概述 二、版本控制和部署 1、Git版本控制 2、Docker部署 三、数据库配置 1、配置数据库设置 2、创建数据库模型 四、URL路由和视图 1、定义URL路由 2、创建视图 五、模板渲染 1、创建模板 2、在视图中使用模板 总结 一、概述 Django是一个高级Python W…

【机器学习】038_梯度消失、梯度爆炸

一、原因 神经网络梯度 假设现在有一个 层的神经网络&#xff0c;每层的输出为一个对输入作 变换的函数结果 用 来表示第 层的输出&#xff0c;那么有下列公式&#xff1a; 链式法则计算损失 关于某一层某个参数 的梯度&#xff1a; 注意到&#xff0c; 为向量&am…

【NI-RIO入门】CompactRIO介绍及环境安装

CompactRIO是什么&#xff1f; CompactRIO系统提供了高处理性能、传感器专用I/O和紧密集成的软件工具&#xff0c;使其成为工业物联网、监测和控制应用的理想之选。实时处理器提供可靠&#xff0c;可预测的行为&#xff0c;而FPGA在需要高速逻辑和精确定时的较小任务上表现出色…

11.20 知识总结(choices参数、MVC和MTV的模式、Django与Ajax技术)

一、 choices参数的使用 1.1 作用 针对某个可以列举完全的可能性字段&#xff0c;我们应该如何存储 .只要某个字段的可能性是可以列举完全的&#xff0c;那么一般情况下都会采用choices参数 1.2 应用场景 应用场景&#xff1a; 学历&#xff1a; 小学 初中 高中 本科 硕士…

MATLAB | 官方举办的动图绘制大赛 | 第二周赛情回顾

今天带来一下MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)的最新进展&#xff01;&#xff01;目前比赛已经进行了两周非常荣幸能够成为第一周的阶段性获奖者&#xff1a; 本来并不打算每周进行一次赛况讲解&#xff0c;但是由于字符限制改成了2000&…

【MySql】13- 实践篇(十一)

文章目录 1. 自增主键为什么不是连续的&#xff1f;1.1 自增值保存在哪儿&#xff1f;1.2 自增值修改机制1.2.1 自增值的修改时机1.2.2 自增值为什么不能回退? 1.3 自增锁的优化1.3.1 自增锁设计历史 2. Insert语句为何很多锁?2.1 insert … select 语句2.2 insert 循环写入2…

Revive开发商加入VR开源标准OpenXR

导读作为一款能让HTC Vive用户玩到Oculus平台游戏的软件&#xff0c;它的开发商CrossVR今日宣布即将加盟为VR和AR应用程序开源组织&#xff0c;即OpenXR。 由Khronos Group引领的OpenXR旨在创建一个标准化且免版税的应用程序编程接口&#xff08;API&#xff09;&#xff0c;该…

60 权限提升-MYMSORA等SQL数据库提权

目录 数据库应用提权在权限提升中的意义WEB或本地环境如何探针数据库应用数据库提权权限用户密码收集等方法目前数据库提权对应的技术及方法等 演示案例Mysql数据库提权演示-脚本&MSF1.UDF提权知识点: (基于MYSQL调用命令执行函数&#xff09;读取数据库存储或备份文件 (了…

Linux内核的安装

1.通过tftp 加载内核和根文件系统 即sd内存卡启动&#xff1a; SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表&#xff08;即分区信息&#xff09;,后续的扇区可自行分区和格式化&#xff1b; 若选择SD卡启动&#xff0c;处理器上电后从第一个扇区开…

车载毫米波雷达行业发展3——市场

3.1 车载毫米波雷达市场分析 中国市场乘用车智能化程度不断提高&#xff0c;车载毫米波雷达市场快速增长。2023 年 1-6 月&#xff0c; 毫米波雷达搭载量达到937.92万颗&#xff0c;同比增长26.36%&#xff0c;其中&#xff0c;前向毫米波雷达搭载量459.29 万颗&#xff0c;同…

C++设计模式——单例模式

单例设计模式 应用场景特点设计模式分类懒汉设计模式饿汉设计模式使用编写的测试代码运行结果 应用场景 当多个类都需要调用某一个类的一些公共接口&#xff0c;同时不想创建多个该类的对象&#xff0c;可以考虑将该类封装为一个单例模式。 特点 单例模式的特点&#xff1a;…

Python编程技巧 – 使用字典

Python编程技巧 – 使用字典 Python Programming Skills – Using Dictionary Dictionary, 即字典&#xff0c;这是Python语言的一种重要的数据结构&#xff1b;Python字典是以键&#xff08;key&#xff09;值(value)对为元素&#xff0c;来存储数据的集合。 前文提到Python列…

【CHI】Ordering保序

本节介绍CHI协议所包含的支持系统保序需求的机制&#xff0c;包括&#xff1a; • Multi-copy atomicity • Completion response and ordering • Completion acknowledgment • Transaction ordering 一、 Multi-copy atomicity CHI协议中所使用的memory model要求为mu…

uniapp开发小程序,包过大解决方案

1、首先和大家说一下 微信小程序 主包限制不能超过2M 分包一共不能超过8M 然后具体解决优化步骤如下&#xff0c; 将主包进行分包 在pages.json 下subPackages里面进行配置分包 分包配置完 配置过的文件都需要进行修改对应的路径 2 、 在运行的时候 一定要勾选 压缩代码 有…

【前端学java】java中的日期操作(12)

往期回顾&#xff1a; 【前端学java】JAVA开发的依赖安装与环境配置 &#xff08;0&#xff09;【前端学 java】java的基础语法&#xff08;1&#xff09;【前端学java】JAVA中的packge与import&#xff08;2&#xff09;【前端学java】面向对象编程基础-类的使用 &#xff08…

pyQt主界面与子界面切换简易框架

本篇来介绍使用python中是Qt功能包&#xff0c;设置一个简易的多界面切换框架&#xff0c;实现主界面和多个子界面直接的切换显示。 1 主界面 设计的Demo主界面如下&#xff0c;主界面上有两个按钮图标&#xff0c;点击即可切换到对应的功能界面中&#xff0c;进入子界面后&a…

江湖再见,机器视觉兄弟们,我已经提离职了,聪明的机器视觉工程师,离职不亏本!

我闻江湖已叹息&#xff0c;又闻人间繁闹闹。同为布衣沦落人&#xff0c;相逢何必曾相识。 此生谁料事事休&#xff0c;道不尽人情冷暖&#xff0c;聚散离合总平常&#xff0c;不似勇气少年时。 我估计今年公司年底是发不出工资了&#xff0c;因为订单续不上。年终奖更是没有&…

vscode 设置vue3 通用页面模板

实现效果&#xff1a; 实现步骤&#xff1a; 1.在项目的 .vscode 目录下创建一个名为 vue3.2.code-snippets 的文件&#xff0c;它是一个 JSON 格式的代码片段文件 {"Vue3.2快速生成模板": {"prefix": "Vue3.2","body": ["<…