通过Spring Boot创建项目

目录

引言

一、创建新项目

[二、通过spring boot创建顾客查询的项目](#二、通过spring boot创建顾客查询的项目)

1.实体类:

2.mapper接口

3.service服务层接口

4.service服务层接口实现类

5.mapper映射文件

三、可能遇到的问题


引言

在通过之前ssm框架的学习后,你是否会感觉ssm的配置过多,操作不是很简便呢,现在,我们来学习一下Spring Boot框架。

Spring Boot框架化了基于 Spring 框架的应用程序的开发和部署,它通过自动配置和默认设置来减少开发人员的工作量。它集成了许多常见的第三方库和框架,如 Spring MVC、Spring Data、Spring Security 等,使开发人员能够更轻松地构建功能丰富、可扩展的应用程序。

一、创建新项目

现在,我们开始创建第一个Spring Boot框架项目吧

首先,新建------》项目------》Spring Initializr

项目SDK选择电脑上有的SDK,我用的是1.8

java version的版本进去后再进行修改

点击下一步,在选择配置时可能会有问题,我们可以在项目中进行后继的调整。

进入程序后,先运行一下检查是否有错误。

如果运行报错

springboot java: 错误: 无效的源发行版:15

这时,我们就要修改一下我们的java version和spring boot版本了。

打开项目结构------》项目,如果你的java SDK版本为1.8,那么在pom文件中,你的java version版本就要改为8

之后再修改springboot的版本,这里我使用的就是2.7.11版本的

全部结束后点击刷新,等待jar包等的导入。

之后,我们在controller层写一下返回

这时,我们发现,可以通过http访问

我们发现,无论是直接访问还是通过postman访问都可以得到数据。

那么,现在我们就来编写一个顾客查询。

二、通过spring boot创建顾客查询的项目

准备pojo,mapper,service,controller等各个层。

先在application.properties中配置一下url等

bash 复制代码
spring.application.name=com.example.demo
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=123456

这是我的数据库:

bash 复制代码
create table customer
(
    id       int auto_increment
        primary key,
    username varchar(20) not null,
    jobs     varchar(50) null,
    phone    varchar(13) null
);
1.实体类:
java 复制代码
package com.example.demo.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class Customer {
    private int id;
    private String username;
    private String jobs;
    private String phone;

}
2.mapper接口
java 复制代码
package com.example.demo.mapper;

import com.example.demo.pojo.Customer;

import java.util.List;

public interface CustomerMapper {
    List<Customer> findAll();
}
3.service服务层接口
java 复制代码
package com.example.demo.service;

import com.example.demo.pojo.Customer;

import java.util.List;

public interface CustomerService {
    List<Customer> findAll();
}
4.service服务层接口实现类
java 复制代码
package com.example.demo.service.impl;

import com.example.demo.mapper.CustomerMapper;
import com.example.demo.pojo.Customer;
import com.example.demo.service.CustomerService;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CustomerServiceImpl implements CustomerService {
    @Autowired
    private CustomerMapper customerMapper;

    public List<Customer> findAll() {
        return customerMapper.findAll();
    }
}
5.mapper映射文件
XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.CustomerMapper">
  <resultMap id="BaseResultMap" type="com.example.demo.pojo.Customer">
    <!--@JPA.Support generated on 2024-05-27 08:48:59.-->
    <!--@Table customer-->
    <id column="id" jdbcType="INTEGER" property="id"/>
    <result column="username" jdbcType="VARCHAR" property="username"/>
    <result column="jobs" jdbcType="VARCHAR" property="jobs"/>
    <result column="phone" jdbcType="VARCHAR" property="phone"/>
  </resultMap>
  <sql id="Base_Column_List">
    <!--@JPA.Support generated on 2024-05-27 08:48:59.-->
    id, username, jobs, phone
  </sql>

  <select id="findAll" resultMap="BaseResultMap">
    select * from customer
  </select>

</mapper>
java 复制代码
package com.example.demo.controller;

import com.example.demo.pojo.Customer;
import com.example.demo.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping(produces = "application/json;charset=UTF-8")
public class HelloController {

    @Autowired

    private CustomerService customerService;

    @GetMapping("/customer/list")
    public List<Customer> find(){
        return customerService.findAll();
    }
    @GetMapping("hello")
    public String hello(){
        return "hello! springboot";
    }
}

三、可能遇到的问题

在注入时候无法找到bean,我们可以在启动项中添加MapperScan来解析mapper中的文件。在添加后我们发现pom配置文件出错。这时我们需要修改pom文件。之前我们用的是spring的mybatis启动器,我们将spring的mybatis启动器删除,添加springboot的mybatis启动器。

XML 复制代码
<!--SpringBoot的Mybatis启动器-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.0.1</version>
</dependency>

在配置好后刷新一下Maven

在刷新Maven后修改DemoApplication文件

这样基本上就解决了,可能第一个service实现类问题解决了,建第二个时又出现这种情况,但并不影响项目的运行,这种是正常情况,如果看着难受,重启一下idea就可以了

这时我们再次启动项目。访问一下http://127.0.0.1:8080/customer/list,查看是否有数据。

我们发现在浏览器中是能看到数据的。

我们再次在postman中查询。

我们发现可以查到数据,这样,我们的springboot查询就完成了。

相关推荐
专注API从业者2 分钟前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
摇滚侠19 分钟前
DBeaver 导入数据库 导入 SQL 文件 MySQL 备份恢复
java·数据库·mysql
keep one's resolveY43 分钟前
SpringBoot实现重试机制的四种方案
java·spring boot·后端
天空属于哈夫克31 小时前
企业微信API常见的错误和解决方案
java·数据库·企业微信
摇滚侠2 小时前
VMvare 虚拟机 Oracle19c 安装步骤,远程连接 Oracle19c,百度网盘安装包
java·oracle
梁萌2 小时前
idea报错找不到XX包的解决方法
java·intellij-idea·启动报错·缺少包
Agent产品评测局2 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化
阿丰资源3 小时前
基于Spring Boot的电影城管理系统(直接运行)
java·spring boot·后端
呱牛do it3 小时前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 8)
java
消失的旧时光-19434 小时前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解