SpringBoot整合Mybatis,Junit (复现之前写的一个SSM项目)

引言

如下是之前写的一个SSM项目(纯注解版),现在我们要把它改造成一个SpringBoot项目,以体现SpringBoot的方便。主要需要关注的文件已经用红框标出。

1.config文件夹里面的是Spring,SpringMvc,Mybatis的配置文件。

2.mapper文件夹里面是实体类的mapper接口,对应地,resource下的mapper文件夹里面是对应的mapper映射文件。

3.db.properties文件里面指定了有关数据库的相关配置

4.webapp文件夹里面存放我们项目的网页资源(html,css等)

5.test文件夹下的TestUser是用测试用的(用junit)

***************************************************************************************************

用SpringBoot复现SSM项目 

1.首先先创建一个SpringBoot项目

选择mybatis需要的起始依赖 

 

选择Web(因为是web项目)

创建项目成功后,在Setting中把编码改成utf-8,不然yml文件里面写中文会乱码

2.导入需要的依赖

SpringBoot已经把Spring SpringMvc相关的事情都帮我们做好了,web相关,mybatis的起始依赖我们创项目的时候已经导入 ,我们只需要导入自己项目中额外添加的依赖

        <!--        TODO 加入必要的依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--    token--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><!--        基于java,需要引入这个--><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency><!--        druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>

实体类我用了@Data,所以要加Lombok。

会话跟踪用来jwt,导入jwt的依赖。

用了druid数据源,当然不配也可以,不配的话会使用springboot内置的数据源。

3.把SSM项目需要的文件夹拷贝过来

要拷过来的文件夹已经用红框标出

4.SpringBoot整合SSM项目

4.0 SpringBoot整合Spring ,SpringMvc

不用做,创建项目时候已经整合好了,下面解释。

4.1SpringBoot整合Mybatis

首先我们先把config文件夹删掉。

为什么我们敢把放配置的文件夹给删了呢?让我们打开pom文件 

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

这些依赖已经帮我们完成了Spring,SpringMvc,Mybatis的配置了,只能说对SpringBoot真是相见恨晚!

 此外,SpringBoot整合Mybatis,我们唯一需要做的,只有如下两件事

4.1.1配置数据库 (前面的db.properties文件所做的事)

当然我们首先把db.properties文件删掉,感谢它前面所作出的贡献。然后打开resource文件夹下的application.yml文件(先把后缀改成yml),配置端口和数据库

这里指定了druid数据源,不配的话也没有关系,springboot有内置的默认数据源供你使用。 

注意:

1.Mysql版本大于8.0时,更推荐使用 com.mysql.cj.jdbc.Driver

SpringBoot 版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区。 jdbc:mysql://localhost:3306/db_name?serverTimezone=UTC ,或在MySQL数据库端配置时区解决此问题

4.1.2  在mapper接口使用@Mapper注解

把mapper文件夹里面的所有mapper接口上面的@Repository注解换成@Mapper注解,@Mapper可以让SpringBoot扫描到它,并生成它的动态代理对象。

4.2SpringBoot整合Junit

只需要在测试类上打上@SpringBootTest,测试方法上面打上@Test即可,其他什么都不用干!

@SpringBootTest
public class TestUser {@Autowiredprivate UserMapper userMapper;@Testvoid test01(){List<User> users = userMapper.selectAll();System.out.println(users);}
}

前面已经整合好了ssm,测试一下test01

4.3网页资源处理

由于此项目前端是用Vue3实现的,因此这里并没有静态资源。

如果项目有静态网页资源的话,放在static文件夹里面就好了。

 现在我们启动springboot项目,看一下能否访问index.html

至此,我们已经成功用SpringBoot复现了一个SSM项目

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

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

相关文章

zoom 会议 javascript 转录例子

一、启动server-to-server zoom api服务&#xff0c;用于创建会议&#xff0c;参考&#xff1a;如何使用Zoom API创建一个会议&#xff1f;-CSDN博客 二、启动meetingsdk-auth-endpoint服务&#xff0c;用于加入会议&#xff0c;参考&#xff1a;zoom 会议机器人web例子-CSDN博…

中国城市经济韧性数据集(2007-2022年)

数据来源&#xff1a;数据来自历年《中国城市统计NJ》、各省市《统计NJ》及《中国区域经济统计NJ》 时间范围&#xff1a;2007-2022年 数据范围&#xff1a;中国地级市样例数据&#xff1a; 包含内容&#xff1a; 全部内容下载链接&#xff08;原始数据计算代码最终数据&…

【binder】【android12】【2.servicemanager启动——全源码分析】

系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …

CI/CD之Jenkins用于Linux系统的部署方式汇总

目录 一、前言 二、CI/CD的定义与核心原则 CI/CD在现代软件开发中的重要性 CI/CD与Jenkins的关系 三、Jenkins部署方式汇总 1. 独立服务器部署 &#xff08;1&#xff09;离线安装 &#xff08;2&#xff09;在线安装 2. Docker容器部署 3. Kubernetes集群部署 4. 云…

神经网络卷积层

一、卷积操作 对应位置相乘相加&#xff0c;最终组成一个新的矩阵&#xff0c;实现了降维。 二、代码 import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoaderdataset torchvision.datasets.CIFAR10(&…

2024最全网络安全工程师面试题(附答案),金九银十找工作必看!

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s…

浅析车辆类型检测算法实际应用车辆类型检测算法源码

随着交通运输和物流需求的不断增长&#xff0c;车辆类型检测的准确性和效率成为了一个关键问题。传统的检测方法往往依赖人工和基础的识别技术&#xff0c;面对日益复杂的交通环境&#xff0c;这些方法显得力不从心。幸运的是&#xff0c;智能算法的应用为这一问题带来了突破性…

JavaEE(servlet搭建)

Web开发概述 什么是Web? 所谓web开发,指的是从网页中向后端程序发送请求,与后端程序进行交互。流程图如下&#xff1a; Web服务器是指驻留与因特网上的某种类型计算机程序。 他可以向Web客户端提供文档也可以放置网站文件&#xff0c;让全世界浏览&#xff1b;它是一个容器…

基于协同过滤算法Spring Boot+Vue的图书商城系统

基于协同过滤算法的图书商城系统 1、系统流程图 网络书城购物系统由用户端&#xff0c;管理员端两大模块组成&#xff0c;各个模块下边又有许多小模块组成&#xff0c;每个模块的作用各不相同&#xff0c;但彼此之间又存在一定关系&#xff0c;通过分析上述模块之间的联系以及…

APP服务可用性监控与运维方案

一、引言 随着信息化业务的不断扩展&#xff0c;很多APP已关联众多外部服务&#xff0c;涵盖了互联网及内网环境。为确保用户体验&#xff0c;保障服务的高可用性成为运维团队的首要任务。本方案旨在建立一套全面的服务可用性监控体系&#xff0c;及时发现并解决潜在问题&#…

昇思AI框架实践1:安装MindSpoe和MindFormers

mindspore的python环境安装 项目需要安装MindSpoe和MindFormers两个软件包&#xff0c;最简单的安装方法是pip install安装&#xff1a; pip install mindspore2.2.0 mindformers-1.0.0 下面是详细的安装过程。 下载安装miniconda&#xff08;python环境&#xff09; mini…

python基础(13魔法方法介绍)

python系列文章目录 python基础&#xff08;01变量&数据类型&运算符&#xff09; python基础&#xff08;02序列共性&#xff09; python基础(03列表和元组) python基础&#xff08;04字符串&字典&#xff09; python基础&#xff08;05集合set&#xff09; pytho…

滚雪球学MyBatis-Plus(01):学前导读

&#x1f300;写在前面 我是bug菌&#xff0c;CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家&#xff0c;C站博客之星Top30&#xff0c;华为云2023年度十佳博主&#xff0c;掘金多年度人气作者Top40&#xff0c;掘金等各大社区平台签约作者&#xff…

CS2饰品价格趋势怎么看?以及最佳入手时机

CS2饰品价格趋势怎么看?以及最佳入手时机 CS2饰品价格趋势怎么看?以及最佳入手时机 CS2选品时价格趋势图到底怎么看&#xff1f;什么时候值得真正入手&#xff1f;&#xff1f; 8月中上旬这波涨势大家抓住了吗&#xff1f;反正我们是抓住了。然而很多人都是听别人说行情上涨…

Linux之ip命令详解

华子目录 1.ip命令是什么1.1ip命令的由来1.2ip命令的安装包1.2ip选项&#xff08;基本不用&#xff09; 2.查看网络信息2.1显示全部网络接口信息2.2显示单个网络接口信息2.3显示单个接口状态2.4查看路由表2.5查看arp缓存 3.设置网卡ip地址3.1启用或停用网卡3.2设置默认网关3.3新…

Priority_Queue 的使用和模拟

目录 一基本的介绍 优先队列是一种容器适配器&#xff1b;他的第一个元素总是他包含所有元素里面最大的一个。 他的底层容器可以是任何标准容器类模板&#xff0c;也可以是其他特定设计的容器类。 这个底层容器应该可以通过随机访问迭 代器&#xff0c;并支持以下操作&#x…

【Java】—— Java面向对象进阶:Java银行账户管理系统设计与实现

目录 1. 账户类&#xff08;Account&#xff09; 2. 客户类&#xff08;Customer&#xff09; 3. 银行类&#xff08;Bank&#xff09; 4. 测试类&#xff08;BankTest&#xff09; 运行结果 在今天的博文中&#xff0c;我们将一起探讨一个简单的Java银行账户管理系统的设…

前端Vue使用AES的GCM模式加密

文章目录 前端加密测试Java加解密代码 写了个新的前端项目&#xff0c;公司要求&#xff0c;账号密码这些必须是加密传输的&#xff1b;后端使用了GCM模式加密&#xff0c;前端是复制的一个以前项目的代码&#xff0c;原来是有写加密的&#xff0c;使用的是CryptoJS组件CTR模式…

2024-8-28作业C++/QT

代码&#xff1a; #include <iostream> #include <cstring> #include <array> #include <iomanip> using namespace std; int main() { //array<char,128> a; //array<char,128>::iterator iter; string str; getline(c…

YOLO | YOLO目标检测算法(基础入门)

github&#xff1a;https://github.com/MichaelBeechan CSDN&#xff1a;https://blog.csdn.net/u011344545 YOLO目标检测算法 深度学习经典检测方法1、两阶段&#xff08;Two-stage&#xff09;2、单阶段&#xff08;One-stage&#xff09; 深度学习经典检测方法 1、两阶段&a…