springboot后端写接口(入门)

 总结:

controller展示 定义接口路径和调用service

service  处理业务逻辑 数据库数据

mapper定义操作数据库动作,命名

mapper.xml执行mapper里定义的动作的sql语句,与数据库交互

entity 定义类,与数据库类型保持一致

https://www.bilibili.com/video/BV16541147s1?from=search&seid=14149306823192602727&spm_id_from=333.337.0.0第一步 new project

修改名字

 安装相关依赖(装少了的话后期可以自己加,不过比较麻烦)

首先勾上这个工具,方便以后用

 web

 用上数据库,勾上框的那三个

 命名

第一次下载会有点慢(防火墙可能会阻止,需要允许访问)

 (嫌弃慢的话搜索配一下阿里云的镜像,确实等了很久)

进来配置数据库信息

yml配置

 下面用户名密码数据库端口按照自己实际情况来(随便写的)

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test1?characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
   
mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-aliases-package: com.test.elasticsearchdemo.domain

再次运行,分配端口

 访问空白(因为啥也没写)

建立controller包,建立类,返回一些数据(当然,现在是静态的)

 

模拟返回json格式,建立Animal类,右键——生成——构造函数/get set

 设置返回这个json对象    return new Animal("dog",5);

 成功返回

前端测试接口,因为端口的不同还是出现了跨域问题

通过@CrossOrigin解决,因为方便,但是不是很好,还是单独配置一下过滤器比较好 

 下面当然是需要用到数据库的调用,真正实战都是调用数据库的嘛

 首先建立实体类(跟数据库保持一致)

entity

package com.test.demo.entity;

public class User {
    private int id;
    private String name;
    private String password;

    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

mapper 操作数据库动作

package com.test.demo.mapper;

import com.test.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface UserMapper {
     // 定义操作数据库为查找所有用户
    List<User> findAll();
}

 定义查找所有的数据

建立mapper.xml(sql语句)

mapper.xml配置详解

在resource文件下

<?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">
<!-- namespace对应哪个mapper文件 -->
<mapper namespace="com.test.demo.mapper.UserMapper">
<!--    id对应mapper里面的方法名 resultType对应实体类的数据库类-->
    <select id="findAll"  resultType="com.test.demo.entity.User">
       select * from user;
    </select>
</mapper>

 service操作导出数据库数据

package com.test.demo.service;
import com.test.demo.entity.User;
import com.test.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public List<User> findAll(){
        return userMapper.findAll();
    }
}

mapper里面加注解@mapper

 最后controller里面设置接口

package com.test.demo.controller;

import com.test.demo.entity.User;
import com.test.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class userController {
    @Autowired
    private UserService userService;

    @CrossOrigin
    @RequestMapping("/abc")
    public Animal getName(){
        return new Animal("hml",5);
    }
    @CrossOrigin
    @RequestMapping("/abcd")
    public List<User> getUser(){
         return userService.findAll();
    }
}

效果:

 开启谷歌插件json格式化

 效果有:

前后端分离测试调用成功

  • 18
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是使用Spring Boot编EMQ X后端代码的基本步骤: 1. 添加EMQ X的Maven依赖 您需要在pom.xml文件中添加EMQ X的Maven依赖: ```xml <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.5</version> </dependency> ``` 2. 编Java代码来连接EMQ X 在Spring Boot应用程序中,您可以使用@Component注解创建一个bean来连接EMQ X服务器: ```java import org.eclipse.paho.client.mqttv3.*; import org.springframework.stereotype.Component; @Component public class MqttClientBean implements MqttCallback { // 定义EMQ X服务器地址和端口号 private String broker = "tcp://localhost:1883"; // 定义MQTT客户端ID private String clientId = "spring-boot-mqtt-client"; // 创建MQTT客户端 private MqttClient client; public MqttClientBean() { try { // 创建MQTT客户端 client = new MqttClient(broker, clientId); // 设置回调函数 client.setCallback(this); // 连接到EMQ X服务器 client.connect(); } catch (MqttException e) { e.printStackTrace(); } } @Override public void connectionLost(Throwable throwable) { // 连接丢失时的回调函数 } @Override public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception { // 接收到消息时的回调函数 } @Override public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { // 消息发送完成时的回调函数 } } ``` 在构造函数中,您可以创建一个MQTT客户端,并在其中设置回调函数和连接到EMQ X服务器。此代码还实现了MqttCallback接口,以便处理与MQTT客户端相关的事件和操作。 3. 订阅主题并处理消息 在MqttCallback接口的messageArrived方法中,您可以订阅主题并处理消息。以下是一个示例: ```java @Override public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception { // 订阅主题 client.subscribe("test/topic"); // 处理消息 String message = new String(mqttMessage.getPayload()); System.out.println("Received message: " + message); } ``` 这段代码将订阅名为“test/topic”的主题,并在接收到消息时处理消息。您可以在此处编自己的代码来处理和存储消息。 4. 发布消息 在Spring Boot应用程序中,您可以使用@Autowired注解将MqttClientBean bean注入到其他类中,并使用它来发布消息。以下是一个示例: ```java import org.eclipse.paho.client.mqttv3.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MqttPublisher { // 注入MqttClientBean @Autowired private MqttClientBean mqttClientBean; public void publishMessage(String topic, String message) { try { // 创建MQTT消息 MqttMessage mqttMessage = new MqttMessage(); mqttMessage.setPayload(message.getBytes()); // 发布消息 mqttClientBean.getClient().publish(topic, mqttMessage); } catch (MqttException e) { e.printStackTrace(); } } } ``` 在此代码中,您可以使用MqttClientBean bean来创建MQTT消息并发布它。您可以在其他类中注入MqttPublisher bean,并使用它来发布消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值