VsCode中使用Java

文章目录

引言

本文将从零搭建一个VsCode+ Spring Boot + MySQL

的用户管理接口,覆盖环境准备、建表、编写接口、启动验证的完整链路。最终通过浏览器访问

http://localhost:8080/api/users/1 返回 JSON 数据。

一、下载软件

  • 下载JDK
    下载路径放到JAVA_HOME系统变量下面,在Path内加入%JAVA_HOME%\bin启动地址
  • 下载MAVEN
    下载内容后设置系统变量,跟JDK设置类似
  • 下载MySQL
    选择最全安装,带有sever、Workbench(可视化操作)
  • 下载vs code以及插件
插件名称 作用
Extension Pack for Java Java 开发全家桶(含 Maven、调试、语法提示)
Spring Boot Extension Pack Spring Boot 专用支持(含配置文件提示)
Lombok Annotations Support 让 @Data 等注解生效

二、表创建

  • mysql安装,默认端口3060,自己设置密码
  • 点击增加新Tap按钮,先链接:Reconnect to DBMS,输入一下命令,点执行命令
  • 新增完表结构,增加几条测试数据
sql 复制代码
-- 1. 创建数据库
CREATE DATABASE IF NOT EXISTS demo_db CHARACTER SET utf8mb4;

-- 2. 切换到该库
USE demo_db;

-- 3. 创建用户表
CREATE TABLE `user` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name` VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    `age` INT NULL DEFAULT NULL COMMENT '年龄',
    `email` VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 4. 插入测试数据(至少3条)
INSERT INTO `user` (`name`, `age`, `email`) VALUES
('张三', 22, 'zhangsan@test.com'),
('李四', 25, 'lisi@test.com'),
('王五', 28, 'wangwu@test.com');

三、编写接口代码

3.1 目录规范,根据域名层级来命名

3.2 启动类

项目唯一入口,规定了自动配置、Mapper存放位置、启动方式等

3.3 新建文件

新建entity/User.java,存放类对象结构(实体类,与表结构有关),自动生成getter/setter,并且设置表对应关系

java 复制代码
package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

新建mapper/UserMapper.java,规定MyBatis映射器,自动集成各种CRUD方法,执行时将自动生成代理对象,将数据生成Sql语句,执行Sql语句或者拿到结果生成数据对象;

java 复制代码
package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

新建 controller/UserController.java:接口逻辑处理,参数和返回值序列化等

java 复制代码
package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/users")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/{id}")
    public User getById(@PathVariable Long id) {
        return userMapper.selectById(id);
    }
}

四、启动

相关推荐
Wang's Blog7 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
\光辉岁月/8 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang9 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
郑州光合科技余经理9 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071579 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
code2cat9 小时前
Java进阶篇之AtomicReference:一次替换引用,读到一份完整状态
java·并发编程·不可变对象·atomicreference
专业程序开发源9 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Wang's Blog9 小时前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
HEJOO910 小时前
指针的算术运算详解
java·数据结构·算法
sunshine22 girl10 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习