pom引入包,启动器
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.xcg</groupId> <artifactId>webapp</artifactId> <version>0.0.1-SNAPSHOT</version> <name>webapp</name> <description>WebApp project for Spring Boot3</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>com.mysql</groupId>--> <!-- <artifactId>mysql-connector-j</artifactId>--> <!-- <scope>runtime</scope>--> <!-- </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>3.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-3-starter --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.23</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.4.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> <!-- <dependency>--> <!-- <groupId>org.apache.logging.log4j</groupId>--> <!-- <artifactId>log4j-core</artifactId>--> <!-- <version>2.23.1</version>--> <!-- </dependency>--> <!-- <!– https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api –>--> <!-- <dependency>--> <!-- <groupId>org.apache.logging.log4j</groupId>--> <!-- <artifactId>log4j-api</artifactId>--> <!-- <version>2.23.1</version>--> <!-- </dependency>--> <!-- 使用SpringBoot自带的log组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.auth0/java-jwt --> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>4.4.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 --> <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.51</version> </dependency> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.34</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.yml配置,注意数据库驱动版本,旧版本(Mysql5)的数据库驱动没有cj,MYSQL 5 驱动:com.mysql.jdbc.Driver,MYSQL 6+ 驱动:com.mysql.cj.jdbc.Driver
注:连接字符串中要指定时区serverTimezone,不然可能会报错 https://www.cnblogs.com/daemonFlY/p/9820541.html
GMT是格林威治标准时间的缩写,也叫“世界时”(World Time),用于表示全球协调的时间。
GMT+8表示在格林威治标准时间上加上8个小时,也就是UTC(Coordinated Universal Time)+8小时,代表了中国的东八区时区。
因此,GMT+8和GMT%2B8表示的都是同一个概念,即UTC+8小时的时区。
在URL中,一些特殊字符需要进行URL编码才能被网络传输,比如"+“这个符号。而”%2B"代表了"+"符号的编码。
server: port: 8100 spring: profiles: active: dev #表示开发环境,nacos config application: name: webapp # 数据源类型 datasource: type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型 # MYSQL 5 驱动:com.mysql.jdbc.Driver,MYSQL 6+ 驱动:com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/xcgdb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true&failOverReadOnly=false username: root password: root druid: # 连接超时时间,60000毫秒(1分钟) socket-timeout: 60000 filter: stat: # 启动SQL语句监控,同时会影响其他面板中的SQL展示(如:影响"URI监控"中的jdbc数据) enabled: true # 数据库类型(实测没啥用,会自动根据上面的连接自动识别) db-type: mysql # 记录慢日志("SQL监控"面板中数值会标记为红色) log-slow-sql: true # 慢日志判定标准(单位:毫秒) slow-sql-millis: 3000 # 自定义日志级别,默认日志级别"ERROR" slow-sql-log-level: ERROR wall: # 启用防火墙 enabled: true # 数据库类型(实测没啥用,会自动根据上面的连接自动识别) db-type: h2 config: # 是否允许DELETE操作(报错异常:java.sql.SQLException:sql injection violation, dbType mysql, druid-version 1.2.21, delete not allow : DELETE FROM ...) delete-allow: false # 是否允许DROP TABLE操作 drop-table-allow: false initial-size: 5 #数据库连接池初始化连接数量 min-idle: 5 #数据库连接池最小连接数量 max-active: 20 #数据库连接池最大连接数量 # 配置获取连接等待超时的时间 60000毫秒(1分钟) max-wait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒。 time-between-eviction-runs-millis: 60000 # 配置一个连接在池中最小生存时间 300秒/5分钟 min-evictable-idle-time-millis: 300000 # Druid用来测试连接是否可用的SQL语句,默认值每种数据库都不相同。 # 参考 https://www.jianshu.com/p/c9845884d735 validation-query: SELECT 1 FROM DUAL # 空闲时测试连接是否可用 test-while-idle: true test-on-borrow: false test-on-return: false # 打开 PSCache,并且指定每个连接上 PSCache 的大小 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 # 配置监控统计拦截的 Filter,去掉后监控界面 SQL 无法统计,wall 用于防火墙 stat,wall,log4j filters: stat,wall # 通过 connection-properties 属性打开 mergeSql 功能;慢 SQL 记录 connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 合并多个DruidDataSource的监控数据 useGlobalDataSourceStat: true # 配置 DruidStatFilter Web应用/URI监控/Session监控 web-stat-filter: # 启用"Web应用/URI监控/Session监控"面板 enabled: true # 监控这里指定的路径 url-pattern: /* # 过滤路径 exclusions: /druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.html,*.json # "Session监控"面板设置(RestFul纯后端没有session) session-stat-enable: true session-stat-max-count: 1000 principal-session-name: xxc principal-cookie-name: xxc profile-enable: true # 配置 DruidStatViewServlet stat-view-servlet: # 启用Druid监控面板 enabled: true # 面板路径(默认"/druid/*")(Druid已做了处理,不会被自定义过滤器拦截) url-pattern: /druid/* # 使用Nginx转发导致访问IP丢失,allow、deny均失效,可将allow设置为 192.168.0.0/16,10.0.0.0/8 允许所有请求,注意使用账号保护 # IP 白名单,没有配置或者为空,则允许所有访问 # allow: 127.0.0.1 # IP 黑名单,若白名单也存在,则优先使用 # deny: 192.168.31.253 # 禁用 HTML 中 Reset All 按钮 # 面板上的重置按钮(禁用后面板上重置按钮依然会显示和互动,但是不起作用) reset-enable: false # druid面板登录用户名/密码 默认不需要登录,设置了才需要。 login-username: admin login-password: 123456 # 日志相关配置 logging: level: root: ERROR file: name: sys.log logback: rollingpolicy: # gz file-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.zip max-file-size: 1MB pattern: dateformat: yyyy-MM-dd HH:mm:ss mybatis: mapper-locations: classpath:mapper/*.xml # 如果指定了mybatis的扫描包,那么在mapper/*.xml中就不好再指定别的目录了,所以这里先注释。 # type-aliases-package: com.xcg.webapp.model.entity
标签:--,true,数据库,mysql,boot,SpringBoot3,Mysql,org,com From: https://www.cnblogs.com/xsj1989/p/18279907