1.导入依赖
在pom.xml中添加依赖
<!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- druid连接--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <!-- mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
2.编写配置文件
2.1 准备实体类
可以在IDEA中添加database,通过两张表,可以直接创建在entity包中的实体类
连接上数据库后
这样就创建了Air和District两个类
Air.java
@Data public class Air { private long id; private long districtId; private java.sql.Date monitorTime; private long pm10; private long pm25; private String monitoringStation; private java.sql.Date lastModifyTime; }
District.java
@Data public class District { private long id; private String name; }
2.2 准备mapper接口
import com.company.firstspringboot.entity.Air; import java.util.List; public interface AirMapper { List<Air> findAll(); }
在启动类中加入扫描AriMapper接口所在的包
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan(basePackages = "com.company.firstspringboot.mapper") public class FirstSpringbootApplication { public static void main(String[] args) { SpringApplication.run(FirstSpringbootApplication.class, args); } }
2.3 准备映射文件,创建对应mapper接口的映射文件
AirMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.company.firstspringboot.mapper.AirMapper"> <select id="findAll" resultType="Air"> select * from air </select> </mapper>
添加yml配置信息(指定连接数据库信息和mybatis配置)
application.yml
server: port: 8080 servlet: context-path: / # 连接数据库的信息 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///air?serverTimeZone=UTC username: root password: 123456 type: com.alibaba.druid.pool.DruidDataSource # MyBatis配置 mybatis: # 扫描映射文件 mapper-locations: classpath:mapper/*.xml # 配置别名扫描的包 type-aliases-package: com.company.firstspringboot.entity configuration: # 开启驼峰映射配置 map-underscore-to-camel-case: true
3.测试
直接在接口上右键选择GO TO,会自动创建当前接口的测试类,在test目录下
让当前测试类,继承FirstSpringbootApplicationTests测试类(注意:要在FirstSpringbootApplicationTests的class前,添加public)
AirMapperTest.java
import com.company.firstspringboot.FirstSpringbootApplicationTests; import com.company.firstspringboot.entity.Air; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; class AirMapperTest extends FirstSpringbootApplicationTests { @Autowired private AirMapper airMapper; @Test void findAll() { List<Air> all = airMapper.findAll(); for (Air air : all) { System.out.println(air); } } }
结构:
选择的依赖:https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter