SSM整合————单表操作基础版

news2024/12/26 11:24:36

一、创建数据库:

1. 创建一个 web 项目,并部署到 tomcat 服务器中测试项目 是否能够正常加载并访问首页。
2. 完善项目的结构并导入 SSM 相关的jar包

 3.创建SSM框架对应的配置文件

springMVC配置文件:1.扫描controller2.配置视图解析器;3.静态资源不拦截;4.开启注解驱动支持(自动配置映射器和适配器)。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <!--1.让springMVC框架只管理com.chen.controller-->
    <context:component-scan base-package="com.shi.controller"/>
    <!--2.配置视图解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!--3.静态资源不拦截-->
   <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/img/**" location="/img/"/>
    <!--4.开启注解驱动:默认会加载试图映射器和视图适配器-->
    <mvc:annotation-driven/>

</beans>
spring 框架的配置文件 spring.xml如下:
1. 管理除了 controller 外所有的类; 2. 配置数据源(数据库连接参数);3.配置了SqlSessionFactoryBean,自动获得数据库连接并得到代理对象;4.配置扫描器,告诉 mybatis
创建哪些接口的代理对象;
<?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:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop.xsd">


    <!--1.让spring框架管理的com.shi包中所有的对象,但是排除使用了Controller注解的类-->
    <context:component-scan base-package="com.shi">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <!--2.让spring框架的jdbc管理数据库的连接-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <!--3.配置SqlSessionFactoryBean,把SqlSessionFactory对象交给IOC管理,他会自动创建
    sqlSession对象,会根据mapper接口再创建代理对象-->
    <bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis.xml"/>

    </bean>

    <!--4.配置扫描器,扫描mapper文件,让mybatis知道要创建什么接口的实现类-->
    <bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.shi.dao"/>
    </bean>

</beans>

mybatis的配置文件:自作自身的一些配置,当前阶段为空即可;

 4.配置web项目的核心配置文件web.xml

1. 配置监听器,检测servlet容器创建的时候加载 spring.xml 配置文件;

2. 配置核心控制器DispatcherServlet,创建的时候加载 springmvc.xml 配置文件;

3. 配置字符集过滤器,设置中文编码;
<?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">

    <!--1.配置监听器,检测servlet容器创建的时候加载 spring.xml-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
    </context-param>

    <!--2.配置核心控制器DispatcherServlet,创建的时候加载 springmvc.xml-->
    <servlet>
        <servlet-name>dispatcherServlet</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>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    <!--3.配置字符集过滤器,设置中文编码-->
    <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>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

5.项目的实现

bootstrap可以进行页面美化

5.1登录功能及主页数据展示
5.1.1 创建登录页面

 5.1.2 创建用户操作的控制器,完成登录的请求处理

请求发生后,自动进行数据绑定,拿到用户提交的用户名和密码执行数据的查询,获得数据中该用户的信息;如果信息为空说明登录失败;否则表示登录成功;然后请求查询所有的商品信息;

控制层代码:

业务层代码: 

 数据持久层代码:

若登录失败则跳转到error.jsp

 若登录成功则

5.1.3 创建商品信息的控制器,完成查询所有商品信息的请求处理  

业务层代码:

 持久层代码:

  5.1.4 在主页进行数据的展示 

5.2添加功能

5.2.1 点击主页的添加商品超链接,跳转到商品信息添加页面,代码如下:

5.2.2 当点击保存的时候请求add,且传递表单录入的数据,控制器对应的请求处理方法获得商品信息执行数据库的添加操作

 业务层代码:

 数据持久层代码:

 检查数据库是否新增成功

5.3 删除功能

5.3.1 点击主页的删除按钮,请求 findByGid同时携带商品的编号

5.3.2 在控制器对应的方法中执行请求处理,并根据获取到的商品编号执行数据库的删除操作

控制层代码

 业务层代码:

 数据持久层代码:

 检查数据库是否删除成功

5.4 修改功能
修改功能分为两步:
1. 点击修改按钮执行的是根据 id 的查询,查询该信息然后在页面中做数据的回显;
2.在数据展示页面的表单中根据需要修改完数据后提交执行数据库的更新操作;

 5.4.2 在控制器对应的方法中执行请求处理,并根据获取到的商品编号执行数据库的查询操作

控制层代码

业务层代码

 数据库持久层代码

5.4.3 在数据展示页面showGoods.jsp页面中使用EL表达式把数据显示在表单元素

由于修改时需要根据id进行修改,所以在数据展示页面的表单中需要显式id且设置为只读状态

5.4.4 当点击修改按钮时执行数据更新操作

控制层代码

 业务层代码:

 数据库持久层代码:

 检查数据库是否修改成功。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ERROR org.springframework.web.context.ContextLoader

项目启动时报错&#xff1a; ERROR org.springframework.web.context.ContextLoader - Context initialization failed java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.clearCache() 原因分析 这个错误的原因可能是因为 Spring 的不同…

VGG网络简介

1. 背景 VGG是常见的用于大型图片识别的极深度卷积网络&#xff0c; 这里主要介绍VGG网络预测在ImageNet数据集上的训练及预测。 2. ImageNet图像数据集简介 ImageNet包含了145W张224*224像素的三通道彩色图像数据集&#xff0c;图像划分为1000个种类。其中训练集130W张&…

Contest3070 - 计科2101~2104算法设计与分析上机作业05

问题 A: 最小平均等待时间 题目描述 有n个顾客同时在等待一项服务&#xff0c;顾客i需要的服务时间为ti&#xff0c;1≤i≤n。要安排一个服务次序使得平均等待时间最小&#xff08;平均等待时间是n个顾客等待服务时间的总和除以n&#xff09;。请编写算法&#xff0c;计算最小…

大文件上传接口响应超时

背景 开发了一个内容管理发布系统&#xff0c;在后台发布内容信息时&#xff0c;上传了一个较大的视频&#xff08;较大文件≥200M&#xff09;&#xff0c;以往未上传过如此大文件&#xff0c;然后出现报错 Status Code 413 问题&处理过程 1. status code&#xff1a;4…

如何在Linux使用 chattr 命令更改文件或目录的扩展属性?

在 Linux 操作系统中&#xff0c;chattr 命令用于更改文件或目录的扩展属性&#xff0c;包括可写性、可执行性和删除性等。本文将介绍 chattr 命令的使用方法以及常见的参数。 1. chattr 命令的基本语法 chattr 命令的基本语法如下&#xff1a; chattr [选项] [文件或目录]选…

论文阅读---《人类活动识别的准周期时间序列聚类》

论文地址&#xff1a;Quasi-Periodic Time Series Clustering for Human Activity Recognition | SpringerLink 相空间知识概念&#xff1a;相空间相关概念以及轨迹生成_末世灯光的博客-CSDN博客 摘要&#xff1a; 本文利用移动加速度计对时间序列中的周期信号进行分析&…

[python][学习]turtle.circle()函数

turtle.circle()函数 定义&#xff1a;turtle.circle(radius, extentNone) 作用&#xff1a;根据半径radius绘制extent角度的弧形 参数&#xff1a; radius &#xff1a;弧形半径 当radius值为正数时&#xff0c;圆心在…

斯坦福最新AI报告发布,12张图看懂AI现状

最近&#xff0c;斯坦福人工智能研究所&#xff08;HAI&#xff09;发布了2023年AI指数报告&#xff0c;提供了AI领域当前技术成就、政策趋势、经济影响等多方面的最新情况。 今天我们将报告最重要的12个结论精简出来&#xff0c;分享给大家。 ▍AI大模型不只是大这么简单 在…

JavaEE-轻松了解网络原理之TCP协议

目录 TCP协议TCP协议数据格式TCP原理确认应答超时重传连接管理三次握手四次挥手 滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流异常问题 TCP协议 TCP&#xff0c;即Transmission Control Protocol&#xff0c;传输控制协议. TCP协议数据格式 16位源端口号与16位目的端…

【工作小札】利用动态数据源实现Sass的一种思路(内含完整代码示例)

文章目录 1 楔子2 分析3 代码实现3.1 管理库关键库表设计3.2 租户库关键库表设计3.3 新建一个SpringBootWeb项目3.4 添加maven依赖3.5 创建初始化数据库工具类3.6 创建动态数据源配置类3.7 创建登录代码3.8 创建数据源元数据服务类3.9 创建saas服务基础父类 4 示例演示4.1 下载…

MultiHeadAttention多头注意力机制的原理

MultiHeadAttention多头注意力作为Transformer的核心组件&#xff0c;其主要由多组自注意力组合构成。 1. self-Attention自注意力机制 在NLP任务中&#xff0c;自注意力能够根据上下文词来重新构建目标词的表示&#xff0c;其之所以被称之为注意力&#xff0c;在于从上下文词…

【Spring6】| Spring6集成MyBatis3.5

目录 一&#xff1a;Spring6集成MyBatis3.5 第一步&#xff1a;准备数据库表 第二步&#xff1a;IDEA中创建一个模块&#xff0c;并引入依赖 第三步&#xff1a;基于三层架构实现&#xff0c;所以提前创建好所有的包 第四步&#xff1a;编写pojo 第五步&#xff1a;编写m…

【Redis数据库】异地公网远程登录连接Redis教程

文章目录 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 转发自CSDN远程穿透的文章&#xff1a;公网远程连接R…

Java阶段二Day05

Java阶段二Day05 文章目录 Java阶段二Day05截至此版本可实现的流程图为V14UserControllerClientHandlerDispatcherServletHttpServletResponseHttpServletRequest V15DispatcherServletHttpServletResponseHttpServletRequest V16HttpServletRequestHttpServletResponse 反射JA…

SpringCloud整合AOP做日志管理

目录 1、前置知识2、步骤2.1、依赖2.2、自定义注解&#xff0c;用于注解式AOP2.3、定制切面类2.4、测试 1、前置知识 切面&#xff08;Aspect&#xff09;&#xff1a;官方的抽象定义为“一个关注点的模块化&#xff0c;这个关注点可能会横切多个对象”&#xff0c;在本例中&a…

超详细Redis入门教程——Redis命令(上)

前言 本文小新为大家带来 超详细Redis入门教程——Redis命令&#xff08;上&#xff09; 相关知识&#xff0c;具体内容包括Redis 基本命令&#xff0c;Key 操作命令&#xff0c;String 型 Value 操作命令&#xff0c;Hash 型 Value 操作命令&#xff0c;List 型 Value 操作命令…

快速搭建外卖配送服务:利用外卖系统源码实现

外卖配送服务已经成为了现代消费者生活的一部分&#xff0c;它不仅方便了消费者的用餐需求&#xff0c;也给商家提供了新的销售渠道&#xff0c;同时也为外卖配送员提供了更多的就业机会。为了满足这个市场的需求&#xff0c;外卖系统源码应运而生。 外卖系统源码是一个集成了…

第一章:数、式、方程与方程组

1.实数 1.内容概述 1.了解实数分类2.数轴3.相反数和倒数4.绝对值5.算数平方根相关概念及有关计算2.实数分类 3.实数的基本概念 1.数轴:规定原点、正方向和单位长度的直线叫做数轴2.相反数:绝对值相同而符号相反的两个数,互称相反数3.倒数:1除以任何数的商,我们叫做倒数,0…

超市购物系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/87682510 更多系统资源库…

Jenkins ssh windows 部署 java程序

版权说明&#xff1a; 本文由博主keep丶原创&#xff0c;转载请保留该段内容在文章头部。 原文地址&#xff1a; https://blog.csdn.net/qq_38688267/article/details/130203785 文章目录 前言实现步骤1. windows下载安装ssh2. windows 安装 winsw2.1 下载 winsw2.2 配置winsw2…