SpringBoot整合JUnit、MyBatis、SSM


🐌个人主页: 🐌 叶落闲庭

💨我的专栏:💨
c语言
数据结构
javaEE
操作系统

石可破也,而不可夺坚;丹可磨也,而不可夺赤。


SpringBoot整合

一、SpringBoot整合JUnit

  • 名称:@SpringBootTest
  • 类型:测试类注解
  • 位置:测试类定义上方
  • 作用:设置JUnit加载的SpringBoot启动类
  • 范例:
java 复制代码
@SpringBootTes(classes = SpringboottestApplication.class)
class SpringboottestApplicationTests{}
  • 相关属性
    • classes:设置SpringBoot启动类
  • 注意:
  • 如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的设定

二、SpringBoot整合MyBatis

2.1创建新模块



2.2选择当前模块需要的技术集(MyBatis、MySQL)



2.3设置数据源

yaml 复制代码
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis
    username: root
    password: 123456
  • SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区
yaml 复制代码
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
  • 或在Mysql数据库端配置时区解决此问题

2.4定义数据层接口与映射配置

java 复制代码
@Mapper
public interface UserDao {
    @Select("select * from tb_user where id=#{id}")
    public User selectById(@Param("id") int id);
}

2.5测试类中注入dao接口,测试功能

java 复制代码
@SpringBootTest
class SpringbootMybatisApplicationTests {

    @Autowired
    private UserDao userDao;

    @Test
    void testGetById() {
        User user = userDao.selectById(1);
        System.out.println(user);
    }

}

三、SpringBoot整合SSM

3.1配置起步依赖,必要的资源坐标(druid)

xml 复制代码
<!--TODO 添加必要的依赖坐标-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.16</version>
		</dependency>

3.2配置数据源、端口等

yaml 复制代码
server:
  port: 80
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
    username: root
    password: 123456

3.3配置类

  • 不需要

3.4设置@Mapper

java 复制代码
//TODO 添加@Mapper
@Mapper
public interface UserDao {

    @Select("select * from tb_user where id=#{id}")
    public User selectById(@Param("id") int id);
}

3.5测试类

java 复制代码
@SpringBootTest
class UserServiceImplTest {

    @Autowired
    private UserService userService;
    @Test
    void selectById() {
        User user = userService.selectById(2);
        System.out.println(user);
    }
}

3.6页面

  • 前端页面的所有文件放置在resources目录下的static目录中

3.7测试运行结果



相关推荐
_Evan_Yao2 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
paopaokaka_luck5 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
paopaokaka_luck8 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_32241428048 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
乐茵lin8 小时前
Redis 持久化机制详解:RDB 与 AOF
redis·bootstrap·mybatis
xieliyu.14 小时前
【JavaEE进阶】Spring Boot 日志:从 System.out 到 @Slf4j,6 个级别 + 4 类配置一篇讲透
java·spring boot·spring·java-ee·springboot·logback·slf4j
Mr-Wanter16 小时前
Spring Boot 接口签名实践
java·spring boot
余槐i17 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
RuoyiOffice17 小时前
Flowable 状态通知设计:单体用本地事件,微服务如何回写业务状态?
spring boot·微服务·vue3·flowable·ruoyi office·redis stream·流程状态通知
ly768918 小时前
Spring Security 过滤器链定制:认证、CORS 与 CSRF 的先后顺序
java·spring boot·spring·spring security·csrf·cors·过滤器链