【IDEA】简单入门:请求数据库表数据

news/2024/10/30 11:32:15/

目录

修改编辑与控制台字体大小

二、sprintboot项目入门

【1】直接开始配置Controller

【2】直接请求数据库中的数据,返回json格式

(0)整合PostgreSQL框架

(2)实体entity类

(3)控制类MainController

(4)测试

【3】使用mapper请求数据库中的数据

(1)UserMapper.java代码:

(2)UserController.java代码:

(3)测试


修改编辑与控制台字体大小

可以将编辑窗口的字体大小设置为固定值,

还可以通过Ctrl+鼠标滚轮改变编辑窗口的字体大小,设置如下:

这样就可以通过Ctrl+鼠标滚轮来改变编辑窗口和控制台的字体大小了。

二、sprintboot项目入门

【1】直接开始配置Controller

我们可以直接开始配置Controller。

(1)由于SpringBoot是自动扫描的,因此我们直接创建一个Controller即可被加载,MainController.java代码:

package com.example.demotwo.controller;import com.example.demotwo.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@Controller
public class MainController {@RequestMapping("/index")@ResponseBodypublic String index() {return "欢迎访问你的第一个Sprintboot项目";}
}

(2)启动项目之后,浏览器访问http://localhost:8088/index,返回字符串“欢迎访问你的第一个Sprintboot项目”,说明成功了。

 

【2】直接请求数据库中的数据,返回json格式

它还可以自动识别类型,如果我们返回的是一个对象类型的数据,那么它会自动转换为JSON数据格式,无需配置。

(0)整合PostgreSQL框架

Mybatis框架整合:

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>

与Mybatis框架整合类似,我们只需要在pom文件中,导入PostgreSQL对应的starter依赖即可,

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.0</version></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><scope>runtime</scope></dependency>

导入依赖后,直接启动会报错,是因为有必要的配置我们没有去编写,我们需要指定数据源的相关信息。

 (2)数据库连接配置

在application.properties配置文件中,为PostgreSQL数据库配置数据源等信息。此处我是用的PostgreSQL数据库。

详情请移步至这篇博客基于vscode创建SpringBoot项目,连接postgresql数据库 2 更简单_水w的博客-CSDN博客

然后,在PostgreSQL数据库中创建【my_user】表,并插入了几条数据,

(2)实体entity类

定义一个实体entity类,User.java代码:

package com.example.demotwo.entity;//@TableName("my_user")
public class User {private String username;private String password;public void setUsername(String username) {this.username = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

 

(3)控制类MainController

控制类MainController.java代码:

package com.example.demotwo.controller;import com.example.demotwo.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;@Controller
public class MainController {@RequestMapping("/index")@ResponseBodypublic String index() {return "欢迎访问你的第一个Sprintboot项目";}@RequestMapping("/student")@ResponseBodypublic User user() {User user = new User();user.setUsername("小明");user.setPassword("123456");return user;}
}

(4)测试

浏览器访问http://localhost:8088/student,浏览器能够直接得到application/json的响应数据。

【3】使用mapper请求数据库中的数据

 

(1)UserMapper.java代码:

package com.example.demotwo.mapper;//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demotwo.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;@Mapper
public interface UserMapper{// 查询所有用户@Select("select * from my_user")public List<User> find();
}

(2)UserController.java代码:

package com.example.demotwo.controller;import com.example.demotwo.entity.User;
import com.example.demotwo.mapper.UserMapper;
import org.apache.ibatis.annotations.Insert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;@RestController
@CrossOrigin
public class UserController{@Autowiredprivate UserMapper userMapper;@GetMapping("/user/findAll")public List query(){List <User> list = userMapper.find();System.out.println(list);  // 快捷键:soreturn list;}
}

(3)测试

当前目录结构如下图所示:

再次启动项目,成功,没有报错。

浏览器访问http://localhost:8088/user/findAll,可以看到,浏览器能够直接得到application/json的响应数据。


http://www.ppmy.cn/news/61430.html

相关文章

剪纸中秋海报

打开【Ps】&#xff0c;新建【A4画布】&#xff0c;双击背景图层【解锁】&#xff0c;再添加【图案叠加】图层样式&#xff0c;选择最后一个图案&#xff0c;增加【缩放】。 【椭圆选框工具】按住【Shift】键画一个正圆&#xff0c;填充颜色#0e8993&#xff0c;添加【渐变叠加】…

怎样恢复回收站中已被删除的文件

删除文件是很简单的&#xff0c;可以通过快捷键删除或者拖到回收站中都是删除。而通常这些文件都还在回收站中可以恢复&#xff0c;但如果我们一键清空了回收站&#xff0c;才发现有自己误删了重要文件呢。该怎样恢复回收站中已被删除的文件呢?有需要的小伙伴&#xff0c;那就…

Haproxy集群

引言 Haproxy 是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。 一、Haproxy简介 1、Haproxy应用分析 LVS在企业中康复在能力很强&#xff0c;但存在不足&#xff1a; LVS不支持正则处理&…

SAP PP 模块 中的离散制造 Vs 重复制造 Vs 流程制造

根据的不同产品性质和工艺复杂性&#xff0c;SAP PP模块设计了3 中模式&#xff1a; 离散制造行业流程制造行业重复制造行业 离散制造行业 在离散制造生产场景中&#xff0c;制造过程基于生产订单。 离散制造的 特点是要求不定期发生&#xff0c;过程以车间为导向。在这种情况…

VBA-自定义面板,使用SQL查询Excel数据

需求 定制插件&#xff0c;实现用户打开任意一个工作簿&#xff0c;写sql对Excel中的数据进行查询 案例sql需求场景&#xff1a; 需求 筛选日期小于’2023-4-24’&#xff0c;按group字段分组&#xff0c;求和各分组下的销售额&#xff0c;返回结果集新建工作表写入 数据源…

python为什么不支持switch语句

python为什么不支持switch 1. switch是什么2. Python为什么不支持switch3. switch-case替代方案3.1. 示例一&#xff1a;使用if条件判断语句实现3.2. 示例二&#xff1a;使用字典实现3.3. 示例三&#xff1a;使用内置getattr() 1. switch是什么 switch语句的语法格式如下&…

FJUT第17届校赛题解

致歉 由于出题人经验不足&#xff0c;给大家带来不好的体验&#xff0c;实在抱歉。在赛中忘记开答疑&#xff0c;发不了公告&#xff0c;发现的问题已经在尽量修补。出现的问题如下&#xff08;均修复&#xff09;&#xff1a; 1.薛薛的简单数学题&#xff0c;没写spj&#xf…

PUBG绝地求生的制作公司计划今年推出NFT元宇宙游戏

欢迎来到Hubbleverse &#x1f30d; 关注我们 关注宇宙新鲜事 &#x1f4cc; 预计阅读时长&#xff1a;5分钟 本文仅代表作者个人观点&#xff0c;不代表平台意见&#xff0c;不构成投资建议。 近年来&#xff0c;元宇宙的概念在游戏界获得了极大的关注。元宇宙指的是一个虚…