目录
数据访问
基础特性
Profiles
Profiles组件
Profiles配置文件
外部化配置
单元测试
数据访问
整合SSM场景
SpringBoot 整合 Spring,SpringMVC,MyBatis 进行数据访问场景开发
需要的依赖:
<!-- web启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mybatis启动器-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<!-- mysql驱动-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
配置文件里配置数据源:
# 数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
#数据源类型
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
# 告诉mybatis每个接口的xml文件在哪个包下
mybatis.mapper-locations=classpath:/mappers/*.xml
# 驼峰命名
mybatis.configuration.map-underscore-to-camel-case=true
准备pojo类:在启动类同等目录下创建pojo.User:
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
创建mapper层:
java代码:在启动类同等目录下创建 mapper.UserMapper接口(可以在启动类上中用包扫描注解把所有mapper接口放到ioc容器,可以不用注解):
@MapperScan(basePackages = "com.qiu.boot3project.mapper")
@SpringBootApplication
public class Boot3ProjectApplication {
public static void main(String[] args) {
SpringApplication.run(Boot3ProjectApplication.class, args);
}
}
public interface UserMapper {
public User getUserById(@Param("id") Long id);
}
xml文件:在resources下创建mappers.UserMapper.xml(目录无所谓,到时候可以在配置文件中指定):
# 告诉mybatis每个接口的xml文件在哪个包下
mybatis.mapper-locations=classpath:/mappers/*.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.qiu.boot3project.mapper.UserMapper">
<select id="getUserById" resultType="com.qiu.boot3project.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
编写服务:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("user/{id}")
public User getUserById(@PathVariable Long id){
User user = userMapper.getUserById(id);
return user;
}
}
访问:localhost:8080/user/1
基础特性
自定义banner
在resources下创建一个banner.txt
可以在 Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.nethttps://www.bootschool.net/ascii
中将字体变化:
将结果放到banner.txt下,在配置文件中设置:
# 自定义banner文本
spring.banner.location=classpath:/banner.txt
# 取消banner
#spring.main.banner-mode=off
效果:
Profiles
Profiles组件
SpringBoot环境隔离能力:快速切换开发,测试,生产环境。
两种方式:
Profiles配置文件
外部化配置
配置优先级
单元测试
启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>