Spring Boot | https://start.spring.io |
注意:前提是本地的jdk版本与之对应
properties、yml、yaml
application.properties >application.yml >application.yaml
logging:
用于配置日志系统
root: warn
的含义是:
root
表示这个配置适用于整个项目,也就是说,这个日志级别设置适用于项目中所有的日志记录器。warn
是设置的日志级别,表示只显示警告(WARN)及以上级别的日志,即 WARN
、ERROR
、FATAL
。Spring Boot的日志级别是 INFO
,这意味着默认情况下,只有 INFO
、WARN
、ERROR
和 FATAL
级别的日志会被显示。当 root
设置为 warn
时,所有的 INFO
级别的日志将不会被显示,只显示 WARN
及以上级别的日志
注意:还有设置端口
要点就是父工程不要写代码、最多三级工程,一级管一级
注意:三者保持一致问题(20)
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.7.14
com.lht.project
spring-boot-example
1.0.0
spring-boot-example
springboot基础
1.8
pom
spring-boot-module-example
spring-boot-base-example
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.3.1
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.projectlombok
lombok
org.springframework.boot
spring-boot-maven-plugin
2.7.14
注意:子项目的都是文件的形式new出来的
parent那里的gva都要对应自己父类的内容
4.0.0
com.lht.project
spring-boot-example
1.0.0
../pom.xml
com.lht.project.base
spring-boot-base-example
1.0.0
spring-boot-base-example
springboot基础
pom
spring-boot-config-example
4.0.0
com.lht.project.base
spring-boot-base-example
1.0.0
../pom.xml
com.lht.project.base.config
spring-boot-config-example
1.0.0
spring-boot-config-example
springboot基础
org.mybatis.spring.boot
mybatis-spring-boot-starter
grouId | 项目名 |
version | 版本 |
properties | 版本统一配置 |
dependencies | 依赖导包 |
org.mybatis.spring.boot
mybatis-spring-boot-starter
3.0.2
package com.lht.project.base.config.entity;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @author liuhuitang
*/
@Data
@Component
@ConfigurationProperties("enterprise")
public class Enterprise {
private String name;
private Integer age;
private String[] subject;
}
classpath > classspath: config > file (优先级越高的,优先加载,后加载的会覆盖前面加载的相同属性)
yml > properties (properties 相同属性会覆盖yml)
指定
指定 (active覆盖 、nclude少用)
两个都写的话就以后面的为主
dev
dev
10.0.0.1
test
test
10.0.0.2
注意名字必须一样
${name}-${version}-${project.active}
org.springframework.boot
spring-boot-maven-plugin
2.7.14
(只允许打包一个,多就以后面的为主)
@ComponentScan | 开启spring ioc容器注解支持 |
@SpringBootConfiguration | 对Java Config支持 |
@EnableAutoConfiguration | 自动装配,自动将类注入到容器 |
@Import 引入类
AutoConfigurationImportSelector
入口方法: selectImports
server:
port: 8081
servlet:
context-path: "/api"
1.8
2.3.1
1.2.6
org.mybatis.spring.boot
mybatis-spring-boot-starter
${mybatis.starter.version}
com.alibaba
druid-spring-boot-starter
${druid.starter.version}
(2)子pom写依赖
org.mybatis.spring.boot
mybatis-spring-boot-starter
com.alibaba
druid-spring-boot-starter
mysql
mysql-connector-java
8.0.28
server:
port: 8081
spring:
datasource:
# 指定连接池的类型
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: "jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai"
username: "root"
password: "lht660036"
max-active: 20
# 可选值
# wall 开启druid 防火墙
# stat 启用druid的性能监控
filters: "wall,slf4j,stat"
web-stat-filter:
enabled: true
url-pattern: /*
# 排除不需要监测的资源
exclusions: "/druid,*.png"
# 监控界面的配置
stat-view-servlet:
enabled: true
url-pattern: "/druid/*"
reset-enable: true
login-username: admin
login-password: admin
mybatis:
# 注册mapper.xml
mapper-locations: "classpath*:mapper/**/*.xml"
# 起别名
type-aliases-package: "com.lht.project.data.mybatis.entity"
http://127.0.0.1:8081/druid/sql.html
(1)sql语句
UPDATE sys_user
SET del_status = 1
WHERE user_id IN
#{userIds}
(2)mapper
INSERT INTO sys_user (username, password, phone)
values
#{users.username},
#{users.password},
#{users.phone}
(2)mapper
(3)controller
@PostMapping("/save")
public ResponseResult insertUser(@RequestBody List users){
return ResponseResult.success(userService.insertUser(users));
}
(4)传参
[
{
"username": "测试01",
"password": "8888",
"phone": "8888888"
},
{
"username": "测试02",
"password": "9999",
"phone": "9999999"
}
]
50、12345678.12 是一个有效的decimal(10,2)
值。
而123456781.12 则超出了这个数据类型的范围,因为它有11位数字,而小数点后只有2位。
雪花算法(Snowflake)和UUID都是用于生成全局唯一标识符的算法,但它们在生成唯一标识符的机制和用途上有一些区别。
雪花算法是一种分布式唯一ID生成算法,用于在分布式系统中生成唯一的ID。它的核心是一个64位的二进制数字,由时间戳、机器标识和序列号三部分组成。雪花算法能够在分布式环境中保证ID的唯一性,并且ID是递增的,具有更好的顺序性。由于其生成的ID是递增的,雪花算法特别适合用于生成数据库的主键等需要按顺序生成唯一标识符的场景。
UUID,即通用唯一标识符,则是由一组十六进制数字组成的标识符,用于在分布式系统中唯一地标识某个信息。UUID是一种更为通用的算法,不依赖于任何特定的分布式环境,因此在各种计算机和系统之间都可以使用。UUID通常用于生成唯一的数据库记录标识符、文件名等。由于UUID的目的是保证在任何分布式系统中的唯一性,它并不保证生成的ID具有顺序性。
总的来说,如果你需要在分布式环境中生成唯一的、递增的ID,以用作数据库主键等需要顺序生成的唯一标识符的场景,雪花算法可能是更好的选择。而如果你需要生成一个在任何分布式系统或计算机中都唯一的标识符,但不关心是否递增或顺序,那么UUID可能更为适合。
(1)controller、service层:queryProduct
(2)mapper层:selectProductsByName