Spring Boot基础知识学习(二)

本文主要是对于spring boot中非常浅显的知识进行介绍,并不深入了解,只接触表面,对一些较复杂的内容也不过多描述。如文中有错误之处,望不吝赐教,谢谢~

在上一篇文章Spring Boot基础知识学习(一)中,单单只使用了spring boot,而实际开发过程中,并不会只使用spring boot,还会整合mybatis、junit等框架,这里就对此进行简单介绍。

一、spring boot整合其他框架的简单使用

(1)新建spring initializr项目

在这里插入图片描述
在这里插入图片描述
选择依赖(也可以不选择,创建好项目后,自己可以去pom.xml文件里面去手动创建)
在这里插入图片描述
在这里插入图片描述

(2)查看pom.xml文件
 <dependencies>
        <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.1.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

可以发现持久层框架mybatis以及测试框架junit已经导入。

(3)配置spring boot信息(这里暂时只包括数据库信息)。

在application.properties中添加数据量的连接信息

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

注意实现本地上已存在test数据库,含有一张用户表user.。
在这里插入图片描述

(4)创建用户实体类以及对应的mapper

User类

package com.example.springboot_study_demo2.entity;

public class User {
    // 主键
    private Long id;
    // 用户名
    private String username;

    public Long getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

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

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

User对应的mapper类

package com.example.springboot_study_demo2.mapper;

import com.example.springboot_study_demo2.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {

    /**
     * 通过用户名查询用户
     * @return
     */
    User findByUsername(String username);

}

注意这里的@Mapper注解,一定不要忘记,不然会出错。

(5)配置Mapper映射文件

在src\main\resources\目录下新建mappers目录,再新建UserMapper.xml配置文件(注意路径)

(6)在application.properties中添加mybatis的信息
#别名扫描包
mybatis.type-aliases-package=com.example.springboot_study_demo2.entity
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
(7)验证spring boot中的mybatis和junit

在新建项目时就自动创建了一个test目录,这个test目录和和main目录是对应的,专门用于测试用的。IDEA还自动生成了整个文件的测试类,我们就要在这个类里面编写相应的代码

package com.example.springboot_study_demo2;

import com.example.springboot_study_demo2.entity.User;
import com.example.springboot_study_demo2.mapper.UserMapper;
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;

@RunWith(SpringRunner.class)
@SpringBootTest
class SpringbootStudyDemo2ApplicationTests {


    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
    }

    //测试 mybatis junit
    @Test
    public void test(){
        User user=userMapper.findByUsername("xiaoming");
        System.out.println(user);
    }

}


需要注意项目的名称以及各个类的路径。代码中出现的@RunWith(SpringRunner.class)、@SpringBootTest、@Autowired、@Test注解十分重要,切记;另外有关注解的知识不在此展开。
最终的结果应输出username为xiaoming的这个user对象
在这里插入图片描述

(8)整个项目的结构如下所示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2020.03.07

发布了52 篇原创文章 · 获赞 59 · 访问量 6806

猜你喜欢

转载自blog.csdn.net/ataraxy_/article/details/104710485
今日推荐