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

news2024/9/27 9:22:50

目录

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

二、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")
    @ResponseBody
    public 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;
    }

    @Override
    public 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")
    @ResponseBody
    public String index() {
        return "欢迎访问你的第一个Sprintboot项目";
    }

    @RequestMapping("/student")
    @ResponseBody
    public 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{
    @Autowired
    private UserMapper userMapper;

    @GetMapping("/user/findAll")
    public List query(){
        List <User> list = userMapper.find();
        System.out.println(list);  // 快捷键:so
        return list;
    }
}

(3)测试

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快速了解车联网V2X通信

自动驾驶拥有极其巨大的潜力&#xff0c;有可能改变我们的出行方式。它不仅有望永远改变车辆的设计和制造&#xff0c;还会永远改变汽车的所有权乃至整个交通运输业务。要实现全自动驾驶的目标&#xff0c;开发人员需要开发极为复杂的软件&#xff0c;软件中融入的人工智能(AI)…

机械硬盘和固态硬盘有什么区别?如何使用?

案例&#xff1a;怎么区分机械硬盘和固态硬盘&#xff1f; 【我知道硬盘可以用来储存数据&#xff0c;但我不知道机械硬盘和固态硬盘的区别&#xff0c;有没有小伙伴可以详细解释一下。】 硬盘可以用来储存数据&#xff0c;常见的硬盘有两种&#xff0c;分别是机器硬盘和固态…

C++11多线程编程——线程池的实现

学一门新技术&#xff0c;还是要问那个问题&#xff0c;为什么我们需要这个技术&#xff0c;这个技术能解决什么痛点。 一、为何需要线程池 那么为什么我们需要线程池技术呢&#xff1f;多线程编程用的好好的&#xff0c;干嘛还要引入线程池这个东西呢&#xff1f;引入一个新的…

发展文旅夜游项目有哪些好处

夜晚的城市&#xff0c;总是充满着无限的魅力和活力&#xff0c;而文旅夜游更是让这份魅力和活力得到了更好的展现和发挥。新起典文旅科技认为文旅夜游不仅仅是一种旅游方式&#xff0c;更是可以增加城市夜间经济、丰富文化娱乐生活、缓解白天拥堵、提高旅游体验、促进文化交流…

HTTP的特点

灵活可扩展 HTTP 协议最初诞生的时候就比较简单&#xff0c;本着开放的精神只规定了报文的基本格式&#xff0c;比如用空格分隔单词&#xff0c;用换行分隔字段&#xff0c;“headerbody”等&#xff0c;报文里的各个组成部分都没有做严格的语法语义限制&#xff0c;可以由开发…

大厂面试NLP工程师,会考察你哪些方面的能力?

你好&#xff0c;我是周磊。 相信你已经知道&#xff0c;一名AI算法工程师&#xff0c;不但需要基础能力扎实&#xff0c;更要具备良好的工程落地能力。那在NLP工程师面试的时候&#xff0c;你知道面试官会从哪些维度去考察你这两方面的能力吗&#xff1f; 今天我就结合我的一…

一种用于大坝水库边坡内部振弦式应变计组

1用途 多向应变计组适用于长期埋设在水工结构物或其它混凝土结构物内&#xff0c;测量结构物内部各个方向上的应变量&#xff0c;并可同步测量埋设点的温度。 应变计按方向和支数安装在应变计安装支座上&#xff0c;组成多向应变计组&#xff0c;用于测量大体积混凝土中各方向…

SpringCloud------热部署(三)

SpringCloud------热部署&#xff08;三&#xff09; Devtools是热部署插件&#xff0c;引入热部署实现高效自测。 步骤&#xff1a; 1.Adding devtools to your project 2.Adding plugin to your project 3.Enabling automatic build 4.Update the value of 点击 ctrlshiftal…

大型互联网企业大流量高并发电商领域核心项目已上线(完整流程+项目白皮书)

说在前面的话 面对近年来网络的飞速发展&#xff0c;大家已经都习惯了网络购物&#xff0c;从而出现了一些衍生品例如&#xff1a;某宝/某东/拼夕夕等大型网站以及购物APP~ 并且从而导致很多大型互联网企业以及中小厂都需要有完整的项目经验&#xff0c;以及优秀处理超大流量…

Mysql数据库迁移|如何把一台服务器的mysql数据库迁移到另一台服务器上的myql中

前言 那么这里博主先安利一下一些干货满满的专栏啦&#xff01; Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm1001.2014.3001.5482操作系统专栏https://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482手撕数据结构https:/…

为什么要进行数据决策?数据决策对企业而言有何重要意义?

“大数据”几乎已成为时下最时髦的词汇&#xff0c;不夸张地说&#xff0c;当今各行各业无不对大数据充满了向往&#xff0c;希望自己在新一轮的大数据营销中抢占先机。同时&#xff0c;从大数据中引申出的数据挖掘、数据分析、数据安全等数据运用技术也成为人们热捧的焦点。 …

PMP课堂模拟题目及解析(第2期)

11. 涉及一家全球公司 10 家分公司的项目即将完成&#xff0c;项目经理正在安排召开一次经验教训总结会议&#xff0c;项目经理应该邀请谁来参加会议&#xff1f; A. 所有干系人 B. 项目经理的业务部门主管 C. 项目团队的所有成员 D. 高级管理层 12. 收集完有关项目的…

C++标准库 --- 动态内存 (Primer C++ 第五版 · 阅读笔记)

C标准库 --动态内存 (Primer C 第五版 阅读笔记&#xff09; 第12章 动态内存------(持续更新)12.1、动态内存与智能指针12.1.1、shared_ptr类12.1.2、直接管理内存12.1.3、shared_ptr和new结合使用12.1.4、智能指针和异常12.1.5、unique_ptr12.1.6、weak_ptr 12.2、动态数组1…

刷题记录2

文章目录 题目一分析题解 题目二分析题解 题目一 牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列…

小林coding——图解系统

文章目录 硬件结构CPU是如何执行程序的&#xff1f;磁盘比内存慢几万倍&#xff1f;如何写出让CPU跑得更快的代码&#xff1f;CPU缓存一致性 操作系统结构Linux内核 VS Winodws内核 内存管理为什么要有虚拟内存&#xff1f;malloc是如何分配内存的&#xff1f;内存满了&#xf…

Python 中 随机数 random库 学习与使用

python中的随机数应用大体包含&#xff0c;随机整数、随机浮点数 和 获取随机数序列三类。 一. 随机整数 1.1 随机整数&#xff0c;包含上下限&#xff08;闭区间&#xff09; randint(a, b)&#xff1a;随机选取 [a, b] 之间的一个整数&#xff0c;随机整数包含a 和 b&#…

mybatis配置参数

一、基础配置 1. 连接数据库 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/cscardata?useUnicodetrue&characterEncodingUTF-8&serverTimezoneGMT%2B8username: rootpassword: roottype: com.alibaba.druid.poo…

公开景区监控——缓解交通拥堵,优化出行体验

阚昊宇 XXXXXXXXXXXXX 1 引言 随着疫情时代过去&#xff0c;旅游需求不断增长&#xff0c;节假日热点景区的人流量持续攀高。在节假日调休机制的共同影响下&#xff0c;旅游景区内人群密度不断增加。5月3日&#xff0c;携程发布的《2023年五一出游数据报告》显示&#xff0c;…

15天学习MySQL计划-主从复制(运维篇)第十三天

15天学习MySQL计划-主从复制&#xff08;运维篇&#xff09;第十三天 主从复制 1.概述 ​ 主从复制是指主数据库的DDL和DML操作通过二进制日志传到从库服务器中&#xff0c;然后在从库上对这些日志重新执行&#xff08;也叫做重做&#xff09;&#xff0c;从而使得从库和主库…

计算机操作系统实验:银行家算法模拟

目录 前言实验目的实验内容实验原理实验过程代码如下代码详解算法过程运行结果 总结 前言 本文是计算机操作系统实验的一部分&#xff0c;主要介绍了银行家算法的原理和实现。银行家算法是一种用于解决多个进程对多种资源的竞争和分配的算法&#xff0c;它可以避免死锁和资源浪…