通过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等

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

这是我的数据库: 

create table customer
(
    id       int auto_increment
        primary key,
    username varchar(20) not null,
    jobs     varchar(50) null,
    phone    varchar(13) null
);

1.实体类:
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接口
package com.example.demo.mapper;

import com.example.demo.pojo.Customer;

import java.util.List;

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

import com.example.demo.pojo.Customer;

import java.util.List;

public interface CustomerService {
    List<Customer> findAll();
}
4.service服务层接口实现类
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 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>

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启动器。

<!--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查询就完成了。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殇离黎天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值