2023-7-12

建立SpringBoot项目

在这里插入图片描述

  • 之后用IDEA打开,记得修改自己的Maven路径

在这里插入图片描述

  • 重命名application.properties改为application.yml
    可以修改默认端口
    在这里插入图片描述

在数据库中创建books

在这里插入图片描述

链接数据库,用MyBatisX-Generator生成相应文件

pom.xml中导入在这里插入代码片的依赖

    <!--MyBatis-Plus依赖-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.3.1</version>
		</dependency>

在这里插入图片描述

  • 输入UserPassword,然后链接

在这里插入图片描述

  • MyBatisX-Generator生成相应文件
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

点击Finish后生成beanmapperservice以及resources中的mapper

  • 运行结果如下
    在这里插入图片描述

配置application.yml文件

配置该文件从而实现mapper能够链接数据库进行操作,
复制以下代码后需要注意格式问题


server:
  port: 8000

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/16ban?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
mybatis:
#  type-aliases-package需要改成自己的路径
  type-aliases-package: cn.edu.guet.shopoingexample.bean
  mapper-locations: classpath:mapper/*Mapper.xml

#showSql
logging:
  #level需要改成自己的路径
  level:
    cn.edu.guet.shopoingexample.mapper: DEBUG

导入MySql驱动

		<!--	MySQL驱动	-->
		<dependency>
			<groupId>com.mysql</groupId>
			<artifactId>mysql-connector-j</artifactId>
			<scope>runtime</scope>
		</dependency>

创建controller

在这里插入图片描述

查询数据库中的数据

  • BookController
package cn.edu.guet.shopoingexample.controller;

import cn.edu.guet.shopoingexample.bean.Books;
import cn.edu.guet.shopoingexample.service.BooksService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class BookController {

    @Autowired
    private BooksService booksService;

    /**
     * 查询全部数据
     */
     @PostMapping("selectBooks")
     public List<Books> selectBooks(){
       /**
     * return ResponseData.ok(booksService.list(null));
     * 使用这个语句则不用进行后续的操作,这一语句已经可以拿到
     * books的数据
     */
         return booksService.selectBooks();
     }
}

  • BooksService中定义selectBooks()方法并在BooksServiceImpl中实现该方法。

BooksServiceImpl

package cn.edu.guet.shopoingexample.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.edu.guet.shopoingexample.bean.Books;
import cn.edu.guet.shopoingexample.service.BooksService;
import cn.edu.guet.shopoingexample.mapper.BooksMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 20901
 * @description 针对表【books】的数据库操作Service实现
 * @createDate 2023-07-12 13:01:32
*/
@Service
public class BooksServiceImpl extends ServiceImpl<BooksMapper, Books>
    implements BooksService{

    @Autowired
    private BooksMapper booksMapper;
    @Override
    public List<Books> selectBooks() {
        return booksMapper.selectAll();
    }
}
  • BooksMapper 中定义selectAll()并用@Select()进行注解
package cn.edu.guet.shopoingexample.mapper;

import cn.edu.guet.shopoingexample.bean.Books;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author 20901
 * @description 针对表【books】的数据库操作Mapper
 * @createDate 2023-07-12 13:01:32
 * @Entity cn.edu.guet.shopoingexample.bean.Books
*/
@Mapper
public interface BooksMapper extends BaseMapper<Books> {
    @Select("select  * from books")
    List<Books> selectAll();
}
  • 测试
    在这里插入图片描述

统一返回结果处理

在这里插入图片描述
在这里插入图片描述

前端拿到books的数据

npm install axios
  • App.vue
import axios from 'axios';
export default {
//组件一启动,函数自动执行
  mounted(){
      axios.post('http://localhost:8000/selectBooks')
          .then(response => {
            console.log(response.data);
          })
          .catch(error => {
            console.log(error);
          });
  },
}
  • 运行后出现跨越问题
    在这里插入图片描述

后端解决跨域问题

在这里插入图片描述
解决后,前端成功拿到数据
在这里插入图片描述

前端将数据映射到表格

  • data中的book数据置空
    在这里插入图片描述
  • axios.post中对book进行赋值
    在这里插入图片描述
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值