SpringMVC:整合 SSM 上篇

文章目录

  • SpringMVC - 03
  • 整合 SSM 上篇
  • 一、准备工作
  • 二、MyBatis 层
    • 1. dao 层
    • 2. service 层
  • 三、Spring 层
  • 四、SpringMVC 层
  • 五、执行
  • 六、说明

SpringMVC - 03

整合 SSM 上篇

用到的环境

  • IDEA 2019(JDK 1.8)
  • MySQL 8.0.31
  • Tomcat 8.5.85
  • Maven 3.6.1

一、准备工作

  • 分析需求,准备一个数据库
CREATE DATABASE IF NOT EXISTS `ssmbuild`;use `ssmbuild`;CREATE TABLE IF NOT EXISTS `books`(`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书ID', `bookName` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '书名', `bookCounts` INT(50) NOT NULL DEFAULT 0 COMMENT '书的数量', `detail` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '描述', PRIMARY KEY(`bookID`)
)ENGINE=INNODB DEFAULT charset=utf8mb4;INSERT INTO `books`(`bookID`, `bookName`, `bookCounts`, `detail`) VALUES 
(1, '高等数学', 2, '第一排第一个'), 
(2, '计算机网络', 5, '第二排第二个'), 
(3, '通信原理', 3, '第一排第三个');
  • 新建一个项目,导入依赖
<dependencies><!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!-- mysql 数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><!-- 数据库连接池 c3p0 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.5</version></dependency><!-- Servlet 依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><!-- JSP 依赖 --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version></dependency><!-- JSTL 表达式依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><!-- mybatis-spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency><!-- spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.18</version></dependency><!-- aspectjweaver --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.6</version></dependency><!-- spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.23</version></dependency><!-- jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.14.1</version></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>
</dependencies><!-- 在 build 中配置 resources,来防止我们静态资源导出失败的问题 -->
<build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources>
</build>
  • 用 IDEA 连接数据库


二、MyBatis 层

外部配置文件

MyBatis 核心配置文件

实体类

1. dao 层

接口

实现类

2. service 层

业务接口:业务一般是和数据库对应的

业务实现类:service 层调 dao 层


三、Spring 层

Spring 整合 dao 层配置文件:spring-dao.xml

  • DriverManagerDataSource:Spring 原生的数据库连接池;
  • ComboPooledDataSource:c3p0 数据库连接池。

Spring 整合 service 层配置文件:spring-service.xml


四、SpringMVC 层

把普通 Maven 项目转为 Web 项目,打开项目结构,添加 lib 目录,添加依赖

配置 web.xml

Spring 整合 controller 层配置文件:spring-mvc.xml

整合 Spring 配置文件,得到 Spring 的最终配置文件:applicationContext.xml

编写控制类

编写页面


五、执行

配置 Tomcat,发布项目,运行


六、说明

整合 SSM 中篇:点此进入
整合 SSM 下篇:点此进入

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信号与线性系统翻转课堂笔记9——傅里叶变换概念

信号与线性系统翻转课堂笔记9——傅里叶变换 The Flipped Classroom9 of Signals and Linear Systems 对应教材&#xff1a;《信号与线性系统分析&#xff08;第五版&#xff09;》高等教育出版社&#xff0c;吴大正著 一、要点 &#xff08;1&#xff0c;重点&#xff09;…

Go 泛型之类型参数

Go 泛型之类型参数 文章目录 Go 泛型之类型参数一、Go 的泛型与其他主流编程语言的泛型差异二、返回切片中值最大的元素三、类型参数&#xff08;type parameters&#xff09;四、泛型函数3.1 泛型函数的结构3.2 调用泛型函数3.3 泛型函数实例化&#xff08;instantiation&…

ARM学习(24)Can的高阶认识和错误处理

笔者来聊一下CAN协议帧的认识和错误处理。 1、CAN协议帧认识 CAN 差分信号&#xff0c;是经过CAN收发器转成差分信号的&#xff0c;CAN RX和TX是逻辑电平。CAN的基础知识&#xff0c;可参考笔者这边文章&#xff1a;ARM学习&#xff08;21&#xff09;STM32 外设Can的认识与驱…

四. 基于环视Camera的BEV感知算法-BEVDepth

目录 前言0. 简述1. 算法动机&开创性思路2. 主体结构3. 损失函数4. 性能对比总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习下课程第四章——基于环视Cam…

DALL-E 2: Hierarchical Text-Conditional Image Generation with CLIP Latents

DALL-E 2 论文代码李沐讲DALLE 2方法 上图中,虚线的上半部分是CLIP的训练过程,虚线的下半部分描述的DALL-E 2的训练过程。CLIP训练 在训练时,将文本以及对应的图像分别输入到CLIP的文本编码器和图像编码器,然后得到输出的文本特征和图像特征,这两个特征就是一个正样本,该…

基于SpringBoot + Vue的图书管理系统

功能概述 该图书管理系统提供了一系列功能&#xff0c;包括图书管理、图书类型管理、读者借阅归还图书、用户管理和重置密码等。 在图书管理功能中&#xff0c;管理员可以方便地进行图书信息的管理。他们可以添加新的图书记录&#xff0c;包括书名、作者、出版社、ISBN等信息&a…

高级人工智能之群体智能:蚁群算法

群体智能 鸟群&#xff1a; 鱼群&#xff1a; 1.基本介绍 蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;是一种模拟自然界蚂蚁觅食行为的优化算法。它通常用于解决路径优化问题&#xff0c;如旅行商问题&#xff08;TSP&#xff09;。 蚁群算法的基本步骤…

web架构师编辑器内容-使用html2canvas获取截图,并处理一些问题

html2canvas-api 为了使用html2canvas完成截图的功能&#xff0c;我们首先先使用一个按钮来测试一下html2canvas的截图功能。 首先在页面上创建一个img标签 <img id"test-image" :style"{ width: 300px}"/>创建一个button按钮&#xff0c;添加点击…

猫头虎带您探索Go语言的魅力:GoLang程序员必备的第三方库大盘点 ‍ ‍

猫头虎带您探索Go语言的魅力&#xff1a;GoLang程序员必备的第三方库大盘点 ‍ &#x1f680;&#x1f431;‍&#x1f4bb; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#x…

接口测试的持续集成的工具(git代码管理工具,jenkins持续集成)

持续集成的概念&#xff1a;大白话就是持续的做一件事情&#xff0c;使其使用起来更加流畅&#xff1b;结合测试来讲就是说用工具管理好代码的同时&#xff0c;使代码运行的更加自动以及智能&#xff1b;提升测试效率。 ⽹址&#xff1a;https://git-scm.com/downloads 长这个…

尚硅谷 java 2023(基础语法)笔记

一、变量与运算符 1、HelloWorld的编写和执行 class HelloChina{public static void main(String[] args){System.out.println("hello,world!!你好&#xff0c;中国&#xff01;");} } 总结&#xff1a; 1. Java程序编写和执行的过程&#xff1a; 步骤1&#xff1…

哈希三道题

两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意…