type
status
date
slug
summary
tags
category
icon
password
创造你的第一个控制器
接下来便可以正式写代码了 右键com.example.demo,新建一个名为 controller 的软件包

你无需删除前面的com.example.demo,接着在后面填写contorller,然后回车

右键controller,新建一个Java类

填写HelloController,回车

依据传统,我们写一个Hello,World!

运行你的项目,按右上角绿色的三角按钮
或者右键项目主文件,DemoApplication.java

当终端出现这些字样代表运行成功,然后在浏览器的地址栏输入
localhost:8080,冒号后面的端口号8080请注意终端中的提示,如果你和我不一样,请自行修改端口号,不过默认都是8080

这时你的浏览器应该会出现Hello,World!字样,代表你成功运行了你的第一个控制器。

创建你的数据库
快捷键Win+Q,搜索MySQL并打开MySQL 9.2 Command Line Client

输入你的密码,密码是在MYSQL安装过程中设置的,

输入SQL命令:
CREATE DATABASE blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;并回车

输入:
SHOW DATABASES;来列出所有数据库,会发现已经有了blog。

创建用户并设置密码:
CREATE USER 'blog_user'@'%' IDENTIFIED BY '123456';在这里的用户名是
blog_user,密码是
123456。你也可以按自己想的修改用户名与密码。 授予用户对blog数据库的所有权限:
GRANT ALL PRIVILEGES ON blog.* TO 'blog_user'@'%';最后刷新权限:
FLUSH PRIVILEGES;快捷键Win+Q,搜索MySQL并打开Workbench

点击+号按钮

填写信息

这时你的主页会出现这个数据库,单击打开

按图所示创建user表


打开user表并随便填写一些假数据

至此你已经成功创建了你的user表
连接你的数据库
打开application.properties,配置数据库连接 注意要在spring.datasource.url=jdbc:mysql://localhost:3306/后填写自己的数据库名, spring.datasource.username=数据库用户 spring.datasource.password=这里填写密码

将后端与你的数据库关联起来
新建软件包entity,并创建一个User类,其中User类和user表同名,可以不区分大小写,因为类名命名规则通常都是首字母大写的驼峰命名法则。

到此我们需要安装Lombok依赖,用于减少样板代码,提高开发效率。 在此我推荐去相关依赖的官网,找到最新版本的依赖导入方式,否则会出现各种奇奇怪怪的报错。 Lombok官网Maven依赖导入:
、 找到这两段代码。

==请注意,找到对应的地方,一个是
<dependency></dependency>,一个是
<plugin></plugin>
导入依赖后不要忘记同步一下Maven更改 在设置里找到插件并下载lombok插件

点击构建、执行、部署 -> 编译器 -> 注解处理器 -> 启用注解处理 ->确定

接下来回到User类继续编写。
在这里,我们使用了Lombok的Data注解,自动为id,username,password这些声明生成了对应的操作方法(如
getter、setter、toString()、equals()/hashCode() 等) 我们只需声明变量,无需手动编写对应方法,提高了开发效率。 这里的id,username,password和user表的内容会自动一一对应。请注意,MySQL里的命名方式采用下划线命名,而Java采用驼峰命名。 如果MySQL里的命名是user_name,则Java里要写成userName。当然你也可以手动映射对应,用@Column(username = "user_name")注解来解决,更多其他方法请自行查找,在此不过多赘述。
在后端执行对应的数据库操作
数据库操作这块也有一个依赖可以方便我们提高开发效率 MyBatis-Plus:安装 | MyBatis-Plus 找到Spring Boot3对应的依赖,并添加到pom.xml中,之前已经演示过很多次在此不做赘述。

创建一个新的软件包mapper,并创建一个UserMapper接口,==注意是接口==

在UserMapper中写入
我们的UserMapper继承了mybatisplus的BaseMapper,BaseMapper已经包含了许多常用的CRUD(增删改查)操作,无需我们手动写SQL代码,可直接操作 User 实体对应的数据库表。 如果你有其他操作需求,可自行在UserMapper里添加代码。
在DemoApplication.java主文件添加
@MapperScan("com.example.demo.mapper")
@MapperScan("com.example.demo.mapper")会自动将com.example.demo.mapper目录下的所有mapper类添加@Mapper注解。 @Mapper的作用是
标识一个接口是 MyBatis 的 Mapper 接口,并告诉 MyBatis 需要为这个接口生成动态代理实现类,从而能够执行 SQL 操作。
利用Thymeleaf将数据展示到前端浏览器
可以省略
<version>, 会自动继承<parent></parent>里的Spring Boot的版本接着我们来继续编写HelloController控制器
@Autowired 是 Spring 的依赖注入注解,用于自动装配 Bean。 这里 Spring 会自动查找 UserMapper 类型的 Bean 并注入到 userMapper 字段中。 @GetMapping 是 Spring MVC 的请求映射注解,专门处理 HTTP GET 请求。 Model 是 Spring MVC 提供的一个接口,用于在控制器和视图之间传递数据。 model.addAttribute("userList", userList);这将 userList 数据添加到模型中,可以在视图中通过 ${userList} 或 Thymeleaf 的 th:each 访问。接着写一个网页
th:each="user : ${userList}就像Python 里的for user in userList一样,我们可以用 . 符号取出user里的id,username,password等属性。在resources里创建一个templates文件夹,创建一个alluser.html,这里的alluser与控制器返回的要对应

接着我们来运行一下
打开浏览器并在网址栏输入localhost:8080/alluser

可以发现我们取出了数据库里的所有user并展示在了浏览器上