本文主要是对于spring boot中非常浅显的知识进行介绍,并不深入了解,只接触表面,对一些较复杂的内容也不过多描述。如文中有错误之处,望不吝赐教,谢谢~
在上一篇文章Spring Boot基础知识学习(一)中,单单只使用了spring boot,而实际开发过程中,并不会只使用spring boot,还会整合mybatis、junit等框架,这里就对此进行简单介绍。
选择依赖(也可以不选择,创建好项目后,自己可以去pom.xml文件里面去手动创建)
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.mybatis.spring.bootgroupId>
<artifactId>mybatis-spring-boot-starterartifactId>
<version>2.1.1version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.47version>
<scope>runtimescope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
<exclusions>
<exclusion>
<groupId>org.junit.vintagegroupId>
<artifactId>junit-vintage-engineartifactId>
exclusion>
exclusions>
dependency>
dependencies>
可以发现持久层框架mybatis以及测试框架junit已经导入。
在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.。
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注解,一定不要忘记,不然会出错。
在src\main\resources\目录下新建mappers目录,再新建UserMapper.xml配置文件(注意路径)
#别名扫描包
mybatis.type-aliases-package=com.example.springboot_study_demo2.entity
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
在新建项目时就自动创建了一个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对象