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

Springmvc,spring ,mybatis,整合,ssm

上一章内容:

1.spring框架:作用 开源的框架--提供IOC和AOPIOC控制反转 把创建对象的权力交于spring创建,并管理对象的生命周期,通过DI完成对象属性的注入。
​
2. spring配置中<bean>也可以使用注解@Component @Controller @Service @Repository
3. 自动注入: @Autowired
4. 注入的方式: set方法注入  构造方法注入。 

2.SSM整合

2.1 ssm的整合

springmvc spring mybatis三个框架的整合。起始是spring和mybatis的整合。 只是把mybatis的配置内容整合到spring配置文件中。因为tomcat启动时会加载spring配置。

  1. 数据源 2. 配置映射文件

2.2 maven的web工程并加入依赖

pom.xml: 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.zyl</groupId><artifactId>ssm02</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>ssm02 Maven Webapp</name><url>http://maven.apache.org</url><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-version>5.2.10.RELEASE</spring-version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--文件上传依赖--><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.5</version></dependency><!-- Commons FileUpload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><!-- Commons IO --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.8.0</version></dependency><!--阿里云存储--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency><!--springmvc--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring-version}</version></dependency><!--mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.17</version></dependency><!--mybatis整合spring的依赖.3.0以后支持8以上--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.7</version></dependency><!--spring-jdbc依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring-version}</version></dependency><!--mysql依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version></dependency><!--servlet--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version></dependency><!--jackson--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.18.1</version></dependency><!--druid连接池: 存放连接数据库对象的池子。--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.23</version></dependency><!--jstl--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies><build><finalName>ssm02</finalName></build>
</project>

 

2.3 写spring的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--===========================先配置springmvc的内容=================================--><!--包扫描--><context:component-scan base-package="com.zyl"/><!--开启注解驱动--><mvc:annotation-driven/><!--放行静态资源--><mvc:default-servlet-handler/><!--视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/views/"/><property name="suffix" value=".jsp"/></bean><!--文件上传解析器--><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--最大上传的大小。单位byte字节。5M=5*1024*1024--><property name="maxUploadSize" value="5242880"/><!--设置文件上传的编码--><property name="defaultEncoding" value="utf-8"/></bean><!--========再配置spring 的内容===============================================--><!--配置数据源:可以存放多个连接数据库的对象Connecttion--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/bb?serverTimezone=Asia/Shanghai"/><property name="username" value="root"/><property name="password" value="root"/><!--连接池最大的连接个数--><property name="maxActive" value="10"/><!--连接池初始的容量--><property name="initialSize" value="5"/><!--最大的等待时长:--><property name="maxWait" value="6000"/></bean><!--SqlSessionFactoryBean:该类就是用于spring整合mybatis配置文件--><bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--指定 上面的数据源--><property name="dataSource" ref="dataSource"/><!--指定 映射文件的路径--><property name="mapperLocations" value="classpath:/mapper/*.xml"/></bean><!--为dao接口实现代理实现类StudentDao studentDao =sqlSession.getMapper(studentDao.class)并且生成完成后交与spring容器管理--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!--为指定包下的所有的dao类接口生成代理实现类 --><property name="basePackage" value="com.zyl.mapper"/><property name="sqlSessionFactoryBeanName" value="sessionFactory"/></bean></beans>

2.4 web.xml配置

记得把老的版本换掉:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><welcome-file-list><welcome-file>login1.jsp</welcome-file></welcome-file-list><!--编码过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!--是否设置请求的编码--><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><!--是否设置响应的编码--><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--加载spring配置文件--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

2.5 生成mapper接口和映射文件和实体类

代码自动生成器:

2.6 编码过滤

自己写一个类,写编码过滤器、或者spring也我提供了一个编码过滤器。

    <!--定义编码过滤器--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!--指定编码的值。默认ISO-8859-1--><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><!--是否设置请求的编码--><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><!--是否设置响应的编码--><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

controller层,

实体类,

(dao)Mapper.java,

Mapper.xml映射文件,

前端网页代码.jsp

具体整合源代码在我的项目ssm02中,记得去看!!!

相关文章:

Springmvc,spring ,mybatis,整合,ssm

上一章内容&#xff1a; 1.spring框架:作用 开源的框架--提供IOC和AOPIOC控制反转 把创建对象的权力交于spring创建&#xff0c;并管理对象的生命周期&#xff0c;通过DI完成对象属性的注入。 ​ 2. spring配置中<bean>也可以使用注解Component Controller Service Repo…...

《庐山派从入门到...》板载按键启动!

《庐山派从入门到...》板载按键启动&#xff01; 《庐山派从入门到...》板载按键启动&#xff01; 视频内容大致如下 我们之前了解了GPIO的输出模式使用方法&#xff0c;并且成功点灯&#xff0c;很明显本篇要来分享的自然是GPIO的输入模式 正好回顾一下之前学的python基础包…...

Mapbox-GL 中 `token` 的使用

Mapbox-GL 是一个开源的 JavaScript 库&#xff0c;允许开发者在网页上渲染交互式地图。token 在 Mapbox 中主要是指 access token&#xff0c;它用于身份验证和授权&#xff0c;确保应用程序能够访问 Mapbox 的地图服务。 下面详细解析 Mapbox GL 中 token 的使用&#xff0c…...

Flutter组件————PageView

PageView 可以创建滑动页面效果的widget&#xff0c;它允许用户通过水平或垂直滑动手势在多个子页面&#xff08;child widgets&#xff09;之间切换。每个子页面通常占据屏幕的全部空间。 参数 参数名类型描述childrenList<Widget>包含在 PageView 中的所有子部件&am…...

c#自定义事件

自定义事件类 定义一个自定义事件参数类 为了传递更多的信息&#xff0c;我们定义一个自定义的事件参数类 public class CustomEventArgs : EventArgs {public string Message { get; set; } } 3. 定义一个发布者类 接下来&#xff0c;我们定义一个发布者类&#xff0c;包含…...

【读书笔记】《论语别裁》寂寞的享受

1.内容摘要 在《论语别裁》中&#xff0c;第一章《学而》探讨了做学问的孤独与坚持。作者强调&#xff0c;真正的学者在追求知识时&#xff0c;必须保持“仁”与“义”的核心价值观&#xff0c;愿意为自己的信念与理想而牺牲。他以孔子为例&#xff0c;描绘了孔子一生的寂寞与…...

Oracle筑基篇-调度算法-LRU的引入

常见的调度算法 图1 调度算法思维导图 一、LRU算法的典型使用场景 1. 操作系统中的页面置换 什么时候用到页面置换算法呢&#xff1f; 当CPU发出指令需要访问某个地址时&#xff0c;若该地址在TLB&#xff08;Translation Lookaside Buffer&#xff0c;快表&#xff09;或页…...

单元测试-Unittest框架实践

文章目录 1.Unittest简介1.1 自动化测试用例编写步骤1.2 相关概念1.3 用例编写规则1.4 断言方法 2.示例2.1 业务代码2.2 编写测试用例2.3 生成报告2.3.1 方法12.3.2 方法2 1.Unittest简介 Unittest是Python自带的单元测试框架&#xff0c;适用于&#xff1a;单元测试、Web自动…...

linux驱动:6ull(3)自动分配设备号来创建led驱动

在 linux驱动&#xff1a;6ull&#xff08;2&#xff09;的文章代码上进行更改 步骤&#xff1a; 创建入口函数和出口函数定义一个设备结构体和创建一个led设备在入口函数init中添加初始化led的gpio在入口函数init中添加自动分配设备号来创建led字符设备在出口函数中取消led的…...

GM_T 0039《密码模块安全检测要求》题目

单项选择题 根据GM/T 0039《密码模块安全检测要求》,送检单位的密码模块应包括()密码主管角色。 A.一个 B.两个 C.至少一个 D.至少两个 正确答案:C 多项选择题 根据GM/T 0039《密码模块安全检测要求》,关于非入侵式安全,以下属于安全三级密码模块要求的是()。 …...

第四届电气工程与控制科学

重要信息 官网&#xff1a;www.ic2ecs.com 时间&#xff1a;2024年12月27-29日 简介 第四届电气工程与控制科学定于2024年12月27-29日在中国南京召开。主要围绕“电气工程“、”控制科学“、”机械工程“、”自动化”等主题展开&#xff0c;旨在为从电…...

LabVIEW在电液比例控制与伺服控制中的应用

LabVIEW作为一种图形化编程环境&#xff0c;广泛应用于各类控制系统中&#xff0c;包括电液比例控制和伺服控制领域。在这些高精度、高动态要求的控制系统中&#xff0c;LabVIEW的优势尤为突出。以下从多个角度探讨其应用与优势&#xff1a; ​ 1. 灵活的控制架构 LabVIEW为电…...

植物大战僵尸杂交版v3.0.2最新版本(附下载链接)

B站游戏作者潜艇伟伟迷于12月21日更新了植物大战僵尸杂交版3.0.2版本&#xff01;&#xff01;&#xff01;&#xff0c;有b站账户的记得要给作者三连关注一下呀&#xff01; 不多废话下载链接放上&#xff1a; 夸克网盘链接&#xff1a;&#xff1a;https://pan.quark.cn/s/5c…...

车辆重识别代码笔记12.19

1、resnet_ibn_a和resnet网络的区别 ResNet-IBN-A 是在 ResNet 基础上进行了一些改进的变种&#xff0c;具体来说&#xff0c;它引入了 Instance Batch Normalization (IBN) 的概念&#xff0c;这在某些任务中&#xff08;如图像识别、迁移学习等&#xff09;有显著的性能提升。…...

linux内核网络分层概述

在开发应用时&#xff0c;我们使用 socket 实现网络数据的收发。以tcp为例&#xff0c;server端通过 socket, bind, listen来创建服务端&#xff0c;然后通过 accept接收客户端连接&#xff1b;客户端通过 socket和 connect系统调用来创建客户端。用于数据收发的系统调用包括 s…...

H3C交换机配置 telnet 服务

使用一个交换机做成 telnet 服务, telnet 可以使用指定端口开启三层交换机, 用于与 pc 互通, 也可以使用自带的 vlan1 设置 ip 然后达到互通, 因为华三的交换机端口默认是 access 口, 默认带 vlan1 , 直接设置 vlan1 的 ip 也就可以实现互通 实现互通 互通的两种方式 设置 vl…...

江苏计算机专转本 技能Mysql知识点总结(二)

三、SQL数据操纵语言&#xff08;增删改查&#xff09; 1.insert 语句&#xff08;增&#xff09; INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3); 2.Delete 语句&#xff08;删&#xff09; //1. DELETE FROM 表名 WHERE 条件;//2. truncate table 表名; …...

边缘智能网关助力打造建筑智慧消防物联网

随着经济社会的快速发展&#xff0c;为了满足民众生产、生活、消费需求&#xff0c;高层建筑、大型综合连体建筑持续兴建&#xff0c;各类火灾风险和事故也越发增加。得益于物联网的普及应用&#xff0c;消防监测和管理迎来数字化、智慧化转型升级。 针对各类高层、大型建筑消防…...

学习Cookie 提升

目录 Cookie 的覆盖​​​​​​​ Cookie下的path 特点 设置Cookie 路径 实例 Cookie的最大存活时间 设置Cookie 存活时间 实例 Cookie 和session的区别 和联系 Cookie 的覆盖 当 key相同 和只要path的上级目录的路径相同&#xff0c;就可以被替换掉 value 值 如下图…...

OpenAI 发布会 9 天技术总结

OPEN AI 发布会总结 OpenAI 发布会 12 天技术总结Day 1: 开幕与愿景主要内容&#xff1a;体验方式&#xff1a; Day 2: GPT-4 及其突破性进展主要内容&#xff1a;体验方式&#xff1a; Day 3: GPT-4 在编程领域的突破 - Codex & Copilot主要内容&#xff1a;体验方式&…...

Neo.mjs性能优化:如何实现每秒40,000+增量更新的秘密

Neo.mjs性能优化&#xff1a;如何实现每秒40,000增量更新的秘密 【免费下载链接】neo The application worker driven frontend framework 项目地址: https://gitcode.com/gh_mirrors/neo/neo Neo.mjs作为一款由应用工作器驱动的前端框架&#xff0c;以其卓越的性能表现…...

告别手动更新!用Python+Pandas快速解析通达信tnf文件,构建本地股票代码库

用PythonPandas高效解析通达信TNF文件&#xff1a;打造自动化股票代码库 每次手动更新股票代码库时&#xff0c;那些重复性操作总让我想起学生时代抄写课文的场景——机械、耗时且容易出错。作为量化研究员&#xff0c;我们真正需要的是把时间花在策略优化上&#xff0c;而不是…...

Hunyuan-MT 7B一键部署教程:基于Git实现快速环境搭建

Hunyuan-MT 7B一键部署教程&#xff1a;基于Git实现快速环境搭建 想试试那个在国际翻译比赛里拿了30个第一的Hunyuan-MT-7B模型吗&#xff1f;你可能在网上看到过它的介绍&#xff0c;支持几十种语言&#xff0c;翻译效果据说很惊艳。但一看到“本地部署”、“环境配置”这些词…...

一张照片秒变3D模型!用Splatter Image和3D高斯溅射快速上手单视图重建

从单张照片到3D模型&#xff1a;Splatter Image技术实战指南 想象一下&#xff0c;你刚在二手市场淘到一个绝版手办&#xff0c;想为它创建数字档案&#xff1b;或是设计师客户临时需要将一张产品照片转为3D模型。传统流程需要专业设备扫描或手工建模&#xff0c;耗时数小时甚…...

从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录(附各阶段工具包)

从“Hello World”到区域赛银牌&#xff1a;我的ACM算法打怪升级全记录 记得大一刚接触编程时&#xff0c;连最简单的冒泡排序都要调试半天。三年后站在领奖台上&#xff0c;回想这段旅程&#xff0c;最珍贵的不是奖牌&#xff0c;而是那些深夜debug的坚持和突破自我的瞬间。这…...

告别重复劳动:用快马ai生成高效openclaw脚本提升安卓测试效率

告别重复劳动&#xff1a;用快马AI生成高效OpenClaw脚本提升安卓测试效率 在安卓自动化测试中&#xff0c;编写重复性的设备操作脚本往往是最耗时耗力的环节。每次测试新版本&#xff0c;我们都需要重复编写类似的点击、滑动、输入等操作代码&#xff0c;不仅效率低下&#xf…...

微信H5支付v3版Java实战:从零构建移动端支付解决方案

1. 微信H5支付的应用场景与优势 移动端支付已经成为现代商业不可或缺的一部分。微信H5支付作为微信支付生态中的重要一环&#xff0c;特别适合那些需要在非微信客户端浏览器中实现支付功能的场景。想象一下这样的画面&#xff1a;用户在手机浏览器中浏览你的电商网站&#xff…...

ComfyUI翻译节点终极指南:如何选择最适合你的AI创作翻译工具

ComfyUI翻译节点终极指南&#xff1a;如何选择最适合你的AI创作翻译工具 【免费下载链接】ComfyUI_Custom_Nodes_AlekPet Custom nodes that extend the capabilities of Comfyui 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_Custom_Nodes_AlekPet 在AI图像生…...

Dynamic Deep Learning for Li-ion Battery Fault Detection: A Practical Approach with Real-world EV Da

1. 动态深度学习在锂电池故障检测中的核心价值 锂电池作为电动汽车的核心部件&#xff0c;其健康状况直接关系到整车的安全性和可靠性。传统基于阈值的检测方法在面对复杂多变的实际工况时&#xff0c;往往表现不佳。我们团队在实际测试中发现&#xff0c;某品牌车辆在低温环境…...

内存取证新手必看:用Lovelymem+MemProcFS挂载分析,像访问文件夹一样查看RAW镜像

内存取证革命&#xff1a;用LovelymemMemProcFS实现零命令行分析 想象一下&#xff0c;当你拿到一个18GB的内存镜像文件时&#xff0c;不再需要面对密密麻麻的命令行参数和漫长的等待时间。传统内存取证工具如Volatility虽然强大&#xff0c;但对于初学者来说&#xff0c;记忆各…...