Geekiter/geekiter.github.io

231125笔记:Spring基础构建

Opened this issue · 0 comments

Q1:如何创建postgresql和mysql的Docker容器

  • 拉取镜像

以mysql为例

docker pull mysql
  • 创建并启动容器
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

注意:

  • 配置e,这是镜像需要的一些参数
  • 配置p,将容器的端口映射到本地,不然只能用容器的ip去访问

Q2:maven引入mysql-connector-java报错Cannot find class:com.mysql.jdbc.Drive

版本问题,换个高版本的。mysql版本太高了,驱动也应该换高一点。

Q3:mysql创建数据库推荐用什么编码?

utf8mb4_general_ci,utf-8不用多少了,世界统一编码。mb4兼容四字节的unicode,utf8_general_ci,它速度快。使用utf8_unicode_ci,它比较准确。

Q4:测试SpringBoot是否已经连接到mysql

  • 打开Debug模式

application.prosperity中设置

logging.level.com.zaxxer.hikari=DEBUG
  • 看是否有连接成功的字样
    image

Q5:SpringBoot处理流程

Entity->Dao->Service->Controller

Entity: 数据库模型
Dao: 做一些读数据的操作
Service: 组合Dao读出的数据,来满足Controller的要求
Controller: 路由操作

Q6:Dao和Repository的区别

Dao通过Repository去实现

Q7:SpringBoot如何返回json

在路由方法前面加一个ResponseBody,让SpringBoot直接返回数据,而不是找视图什么的。

Q8:SpringBoot返回的json数组数量对,但是里面没有值?

在Entity层没有配置get和set方法,可以通过lombok.Data包,在Entity类前面加@Data注释来自动生成。