目录
数据访问
基础特性
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 mapperPUBLIC "-//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 {@Autowiredprivate 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>