spring boot前后端分离---后端封装数据库数据并返回接口给前端

spring boot前后端分离—后端封装数据库数据并返回接口给前端

1.配置项目环境
1.1application.properties配置 端口配置及MySQL连接
#server
server.port=8080

#spring datasource
spring.datasource.url=jdbc:mysql:///jtsys?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
1.2引入POM.XML依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>11</java.version>
		<maven-jar-plugin.version>3.0.0</maven-jar-plugin.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

			<!--Mybatis-->
		<dependency>
    		<groupId>org.mybatis.spring.boot</groupId>
  	  		<artifactId>mybatis-spring-boot-starter</artifactId>
    		<version>2.0.0</version>
		</dependency>
		
		<!-- Junit依赖 -->
		<dependency>
    		<groupId>junit</groupId>
    		<artifactId>junit</artifactId>
    		<scope>test</scope>
		</dependency>

		<dependency>
    		<groupId>org.projectlombok</groupId>
    		<artifactId>lombok</artifactId>
  			<version>1.18.4</version>
    		<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

1.4Maven的引入

Window–>preferences–>Maven
在这里插入图片描述
在这里插入图片描述

2.创建包结构

comtroller
dao
pojo
service
serviceimpl
vo
在这里插入图片描述

3.1pojo层创建SysSrot
package com.cy.pj.sys.pojo;

public class SysSrot {
	
	private Integer id; 
	private String name;
	public Integer getId() {
		return id;
	}
	
	/* 右键Source->Generate Getters and Setters*/
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	/*右键Source->Generate toString*/
	@Override
	public String toString() {
		return "SysSrot [id=" + id + ", name=" + name + "]";
	}

}

3.2dao层创建SysSrotDao
这是里我是直接用@Select没有用mapper映射,复杂的语句建议用mapper
package com.cy.pj.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import com.cy.pj.sys.pojo.SysSrot;

@Mapper
public interface SysSrotDao {

	/*查询所有的商品信息*/
	/*在查询中,一律不可以使用*号作为查询字段,需要什么字段必须说明*/
	@Select("select id,name from classify")
	List<SysSrot> findPageObjects();
}

3.3Service层创建
package com.cy.pj.sys.service;
import java.util.List;
import com.cy.pj.sys.pojo.SysSrot;
/**
 * 商品业务接口,负责商品业务的定义
 * @author Administrator
 */
public interface SysSortService {

	/*findPageObjects为自定义的返回方法名*/
	List<SysSrot> findPageObjects();
}
3.4 Serviceimpl层创建SysSrotServiceimpl
package com.cy.pj.sys.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cy.pj.sys.dao.SysSrotDao;
import com.cy.pj.sys.pojo.SysSrot;
import com.cy.pj.sys.service.SysSortService;

@Service
public class SysSrotServiceimpl implements SysSortService{

	@Autowired
	private SysSrotDao syssrotdao;/*返回方法建议是返回值的全小写或首字母小写*/

	@Override
	public List<SysSrot> findPageObjects() {
		System.out.println("start"+System.currentTimeMillis());/*记录时间日志*/
		List<SysSrot> srot=syssrotdao.findPageObjects();
		System.out.println("end"+System.currentTimeMillis());/*记录时间日志*/
	return srot;
	}
}
3.5Vo层创建封装类型
package com.cy.pj.sys.Vo;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * VO:(View Object/Value Object),在当前项目中我们借助VO封装视图层要呈现数据
 */
@Data
@NoArgsConstructor
public class JsonResult {
	/**消息表示状态码*/
	private Integer state;//1 表示正确数据,0表示异常数据
	/**状态码对应的具体信息*/
	private String message;
	/**数据(基于此属性封装业务层返回的数据)*/
	private Object data;

	public JsonResult(String message){
		this.state=1;
		this.message=message;
		//方法2
		//setState(1);
		//setMessage(message);
	}
	public JsonResult(Object data){
		this.state=1;
		this.data=data;
	}
	//基于此构造方法进行错误信息的初始化
	public JsonResult(Throwable e){//Throwable是所有异常类的父类
		this.state=0;//error
		this.message=e.getMessage();//获取异常信息
	}
}

3.6Controller层创建出入口

package com.cy.pj.sys.contrller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cy.pj.sys.Vo.JsonResult;
import com.cy.pj.sys.service.SysSortService;

@Controller
@RequestMapping("/sort/")
public class SysSortController {
	
	@Autowired
	private SysSortService syssortservice;

	@RequestMapping("findPageObjects")/*建议定义的方法名*/
	@ResponseBody/*此注解很重要,要是没有就报500,原因我也不知道*/
	public JsonResult findPageObjects() {
		return new JsonResult(syssortservice.findPageObjects());/* viewname*/
		/* 此view会返回给DispatcherServlet对象*/
		/* DispatcherServlet对象将view 传递给视图解析器ViewResolver*/
		/* ViewResolver会对view的名字进入解析(例如添加前缀,后缀。。。)*/
		/* ViewResolver会将结果返回给DispatcherServlet对象*/
		/* DispatcherServlet将结果响应到客户端*/
	}	
}
4.去网页进行访问

http://localhost:8080/sort/findPageObjects
返回方法没有返回给前端页面所以才映射出数据库里的数据信息!!!
在这里插入图片描述

5.要是报错可以去我主页找解决Spring Boot 正常启动后访问Controller提示404及500等错误
  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值