spingboot配置文件
properties配置文件
在官网中: Common Application Properties (spring.io) 提供了许多的配置项
手动配置启动端口号和虚拟目录
server.port=9090
server.servlet.context-path=/start
自定义配置实体类信息
yaml配置文件(常用)
文件一般有两种格式:application.yml / application.yaml
server:
port: 9191
servlet:
context-path: /start2
相比之下层次清晰,更加关注数据
书写规范:值前边必须有空格,作为分隔符 使用空格作为缩进表示层级关系,相同的层级左侧对齐
yml配置信息书写与获取
1.三方技术配置信息
比如配置整合redis:
spring:
data:
redis:
host: localhost
port: 6379
password: 123456
connect-timeout: 3000
2.自定义配置信息
自定义配置实体类信息
单个实体信息变量多个参数比如数组的形式:使用 - 开头表示
配置信息获取
把配置文件里的数据封装到实体变量成员变量中:@Value(“${键名}”)
如果成员变量较多且有共同的子层级,就使用 @ConfigurationProperties(prefix=“前缀”)
实体类的成员变量名与配置文件中的键名保持一致
spingboot整合mybatis
实现流程
项目引入mybatis起步依赖和数据库驱动依赖
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<!--mysql 驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
创建演示数据表
create database if not exists mybatis_test;
use mybatis_test;
create table user(
id int unsigned primary key auto_increment comment 'ID',
name varchar(100) comment '姓名',
age tinyint unsigned comment '年龄',
gender tinyint unsigned comment '性别, 1:男, 2:女',
phone varchar(11) comment '手机号'
) comment '用户表';
insert into user(id, name, age, gender, phone) VALUES (null,'白眉鹰王',55,'1','18800000000');
insert into user(id, name, age, gender, phone) VALUES (null,'金毛狮王',45,'1','18800000001');
insert into user(id, name, age, gender, phone) VALUES (null,'青翼蝠王',38,'1','18800000002');
insert into user(id, name, age, gender, phone) VALUES (null,'紫衫龙王',42,'2','18800000003');
insert into user(id, name, age, gender, phone) VALUES (null,'光明左使',37,'1','18800000004');
insert into user(id, name, age, gender, phone) VALUES (null,'光明右使',48,'1','18800000005');
在application.yml配置文件中配置数据源信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///mybatis_test?useSSL=false
username: root
password: root
创建user实体类
public class User {
private Integer id;
private String name;
private Short age;
private Short gender;
private String phone;
public User() {
}
public User(Integer id, String name, Short age, Short gender, String phone) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.phone = phone;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Short getAge() {
return age;
}
public void setAge(Short age) {
this.age = age;
}
public Short getGender() {
return gender;
}
public void setGender(Short gender) {
this.gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
", phone='" + phone + '\'' +
'}';
}
}
创建UserMapper接口
实现按id查找全都的方法
@Mapper
public interface UserMapper {
@Select("select * from user where id = #{id}")
public User selectById(Integer id);
}
创建UserService接口
public User selectById(Integer id);
创建UserService实现类
@Service
public class UserService implements com.springboot.springboot3_01.service.UserService {
@Autowired //依赖注入
private UserMapper userMapper;
@Override //重写方法
public User selectById(Integer id) {
return userMapper.selectById(id);
}
}
创建UserController类
@RestController
public class UserController {
@Autowired //注入Service对象
private UserService userService;
@RequestMapping("/selectById")
public User selectById(Integer id){
return userService.selectById(id);
}
}
启动访问查看