Java之Spring Boot入门到精通【IDEA版】SpringBoot整合其他框架【Junit,Redis,MyBatis】(一篇文章精通系列)【中】

Java之Spring Boot入门到精通【IDEA版】SpringBoot整合其他框架【Junit,Redis,MyBatis】(一篇文章精通系列)【中】,第1张

Java之Spring Boot入门到精通【IDEA版】SpringBoot整合其他框架【Junit,Redis,MyBatis】(一篇文章精通系列)【中】

SpringBoot整合其他框架【Junit,Redis,MyBatis】
    • 一、SpringBoot整合Junit
      • ①搭建SpringBoot工程
      • ②引入starter-test起步依赖
      • ③编写测试类
        • (1)在启动类傍边其他类
      • ④添加测试相关注解
      • ⑤编写测试方法
    • 二、SpringBoot整合Redis
      • 1、搭建SpringBoot工程
      • 2、引入redis起步依赖
      • 3、在测试方法当中默认连接本地的redis数据库
      • 4、配置redis相关属性
    • 三、SpringBoot整合MyBatis
      • 1、搭建SpringBoot工程
      • 2、引入mybatis起步依赖,添加mysq|驱动
      • 3、定义表和实体类
      • 4、编写DataSource和MyBatis相关配置
      • 5、编写dao和mapper文件/纯注解开发
      • 6、测试
      • 7、编写dao和mapper文件/XML开发
        • (1)创建UserXmlMapper接口
        • (2) 编写配置文件
        • (3) 配置配置文件
        • (4)完善测试类

一、SpringBoot整合Junit ①搭建SpringBoot工程




②引入starter-test起步依赖
  • 快速构建的spring项目自动以及引入了spring-test的依赖
编写测试
  • 并且也自动写了test类,但是为了方便演示,现在将下面对应的内容删除
  • 删除成功
(1)在启动类傍边其他类
  • UserService

package cn.itbluebox.springboottest;
import org.springframework.stereotype.Service;
@Service
public class UserService {
    public void add(){
        System.out.println("add...");
    }
}
  • 创建测试类

④添加测试相关注解
  • 引入junit的依赖
        
            junit
            junit
            test
        

● @RunWith(SpringRunner.class)
● @SpringBootTest(clasSes =启动类.class)

package cn.itbluebox.test;

import cn.itbluebox.springboottest.SpringbootTestApplication;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootTestApplication.class)
public class UserServiceTest {
}
⑤编写测试方法

package cn.itbluebox.test;

import cn.itbluebox.springboottest.SpringbootTestApplication;
import cn.itbluebox.springboottest.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootTestApplication.class)
public class UserServiceTest {
    @Autowired
    private UserService userService;
    @Test
    public void test(){
        userService.add();
    }
}
  • 运行测试
  • 运行成功
  • 如果主包和测试包的目录结构是相同的则@SpringBootTest(classes = SpringbootTestApplication.class)不需要写当中的classes
  • 将UserServiceTest类移动到springboottest包当中
package cn.itbluebox.springboottest;


import cn.itbluebox.springboottest.SpringbootTestApplication;
import cn.itbluebox.springboottest.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserServiceTest {

    @Autowired
    private UserService userService;

    @Test
    public void test(){
        userService.add();
    }

}

  • 运行测试

二、SpringBoot整合Redis 1、搭建SpringBoot工程





2、引入redis起步依赖
  • 通过上述的自动创建的工程redis的依赖已经自动添加好
3、在测试方法当中默认连接本地的redis数据库

不需要配置如何信息

package cn.itbluebox.springbootredis;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.BoundValueOperations;
import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTest
class SpringbootRedisApplicationTests {

    @Autowired
    private RedisTemplate redisTemplate;
    @Test
    void testSet() {
        //存入数据
        redisTemplate.boundValueOps("name").set("张三");
    }
    @Test
    void testGet() {
        //获取数据
        Object name = redisTemplate.boundValueOps("name").get();
        System.out.println(name);
    }
}

  • 启动redis

  • 运行测试类(测试方法testSet()存入数据)

  • 运行测试类(测试方法testGet()获取数据)

4、配置redis相关属性



spring:
  redis:
    host: 127.0.0.1 #redis的主机地址
    port: 6379
  
  • 运行测试


三、SpringBoot整合MyBatis 1、搭建SpringBoot工程





2、引入mybatis起步依赖,添加mysq|驱动

通过上述的工程搭建自动添加好了依赖

3、定义表和实体类
  • 创建数据库
CREATE DATAbase `springboot` ;

USE `springboot`;



DROp TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;



insert  into `t_user`(`id`,`username`,`password`) values (1,'zhangsan','123'),(2,'lisi','234');

  • 创建实体类

package cn.tbluebox.springbootmybatis.domain;

public class User {

    private int id;
    private String username;
    private String password;

    public User() {
    }

    public User(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + ''' +
                ", password='" + password + ''' +
                '}';
    }
}

4、编写DataSource和MyBatis相关配置



#datasource
spring:
  datasource:
    url: jdbc:mysql:///springboot
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

5、编写dao和mapper文件/纯注解开发


package cn.tbluebox.springbootmybatis.mapper;

import cn.tbluebox.springbootmybatis.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {

    @Select("select * from t_user")
    public List findAll();

}

6、测试

package cn.tbluebox.springbootmybatis;

import cn.tbluebox.springbootmybatis.domain.User;
import cn.tbluebox.springbootmybatis.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class SpringbootMybatisApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    void findAllUser() {
        List all = userMapper.findAll();
        System.out.println(all);
    }

}

运行测试类

7、编写dao和mapper文件/XML开发 (1)创建UserXmlMapper接口


package cn.tbluebox.springbootmybatis.mapper;

import cn.tbluebox.springbootmybatis.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserXmlMapper {

    public List findAll();

}

(2) 编写配置文件






    
        select * from t_user
    

(3) 配置配置文件

#datasource
spring:
  datasource:
    url: jdbc:mysql:///springboot
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

# mybatis
mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml  #mapper映射文件的路径
  type-aliases-package: cn.tbluebox.springbootmybatis.domain
  # config-location: #指定mybatis核心配置文件
(4)完善测试类

package cn.tbluebox.springbootmybatis;

import cn.tbluebox.springbootmybatis.domain.User;
import cn.tbluebox.springbootmybatis.mapper.UserMapper;
import cn.tbluebox.springbootmybatis.mapper.UserXmlMapper;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
@SpringBootTest
class SpringbootMybatisApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Autowired
    private UserXmlMapper userXmlMapper;

    @Test
    void findAllUser() {
        List all = userMapper.findAll();
        System.out.println(all);
    }

    @Test
    void findAllUser2() {
        List all = userXmlMapper.findAll();
        System.out.println(all);
    }

}

  • 运行测试

    运行成功

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4828308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存