栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Cocos2d-x

springboot项目 CURD-资源站

Cocos2d-x 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot项目 CURD-资源站

前言:
作者简介:我是笑霸final,一名热爱技术的在校学生。
个人主页:笑霸final的主页
系列专栏::本文写在java专栏
如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
如果感觉博主的文章还不错的话,点赞 + 关注 + 羅收藏羅

springboot项目 CURD-资源站
  • 项目截图
  • 一:整合springboot和mybatis
    • 1.1其他依赖
    • 1.2项目目录
    • 1.3数据库
  • 二:前端部分
    • 2.1 项目文件截图
    • 2.2 static的相关资源文件
      • 2.2.1css文件
      • 2.2.2images文件
      • 2.2.2 js文件
    • 2.3 前端视图的相关资源文件
  • 三 后端部分
    • 3.1pojo
    • 3.2mapper
    • 3.3Service
    • 3.4Controller
        • 常用数据:

项目截图


一:整合springboot和mybatis

详细请看我详细介绍的博客

整合springboot和mybatis的链接

1.1其他依赖

lombok用在pojo让java代码看起来清晰

 
            org.projectlombok
            lombok
            true
        

分页插件 后面用到数据库的分页


            com.github.pagehelper
            pagehelper
            5.0.0
        
1.2项目目录

1.3数据库
CREATE DATABASE `ssmbuild`;
USE `ssmbuild`;
DROp TABLE IF EXISTS `books`;
CREATE TABLE `books` (
`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '资源id',
`bookName` VARCHAr(100) NOT NULL COMMENT '资源',
`bookCounts` VARCHAr(11) NOT NULL COMMENT '验证码',
`detail` VARCHAr(200) NOT NULL COMMENT '网盘链接',
KEY `bookID` (`bookID`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
二:前端部分

还得补前端部分页面写的太丑了还借鉴了网络资料
这部分用到了简单的vue

2.1 项目文件截图

2.2 static的相关资源文件 2.2.1css文件
body{
    width: auto;
    height: auto;
    background-image: url(../images/background01.png);
    background-size:100% 100%;
    background-attachment: fixed;
}
2.2.2images文件

就是一些图片

2.2.2 js文件

前端的库

vue官网:Vue
jQuery:jQuery

2.3 前端视图的相关资源文件

目录

这里的代码放在前端模板了不然感觉篇幅过长

代码链接:代码

三 后端部分

3.1pojo

POJO是Plain OrdinaryJava Object的缩写,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。
POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便程序员使用数据库中的数据表,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。POJO类也给我们在struts框架中的配置带来了很大的方便。

package com.xbfinal.ssm.pojo;

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

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class book {
    //实体类

    private Integer bookId;

    private String bookName;

    private String bookCounts;

    private String detail;

}

这里使用了lombok
Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量

依赖

 	  
            org.projectlombok
            lombok
            true
        
3.2mapper

使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。这时,通用Mapper便应运而生。
通用Mapper就是为了解决单表增删改查,基于Mybatis的插件。开发人员不需要编写SQL,不需要在DAO中增加方法,只要写好实体类,就能支持相应的增删改查方法。

package com.xbfinal.ssm.mapper;

import com.xbfinal.ssm.pojo.book;
import org.apache.ibatis.annotations.*;

import java.util.List;


@Mapper//接口实现增删改查
public interface bookMapper {

    //更具id查对应的书用注解模式
    @Select("select * from books where bookId=#{id}")
    public book getById(@Param("id")int id);
    @Select("select * from books")
    public List getAll();

    //增加书籍
    public void addBook(book book);

    //删除书籍信息
@Delete("delete from books  where bookId=#{id}  and bookName=#{bookName} ")
    public void deleteBook(@Param("id") Integer id,@Param("bookName") String bookName);
    //修改
    public  void upData(book book);

}

当然一些复杂的sql语句可以用配置文件写(看个人喜好,这里只是一种方法), 开始我们已经整合了mybatis和springbpoot 当时用的混合模式详细请看springboot整合mybatis(配置模式+注解模式)




    
    
        insert into books
            value (#{bookId},#{bookName},#{bookCounts},#{detail})
    

    
    
         update books set bookCounts=#{bookCounts},detail=#{detail}
         where bookId= #{bookId,jdbcType=INTEGER} and bookName = #{bookName}
    

    



3.3Service

功能: 对于单张表的增、删、改、查(单条查、批量查、分页查)功能
用Service来调用mapper

代码:

package com.xbfinal.ssm.service;

import com.xbfinal.ssm.mapper.bookMapper;
import com.xbfinal.ssm.pojo.book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service//一般使用service层调用mapper
public class bookUser {
    @Autowired
    bookMapper bookMapper;
    //根据id找书籍
    public book getById(int id){
        return bookMapper.getById(id);
    }
    //添加
    public void addBook(book book){
        bookMapper.addBook(book);
    }
    //查询所有的书
    public List getAll(){
        return bookMapper.getAll();
    }
    //删除当前资源
    public void deleteBook(Integer Id,String bookName){
         bookMapper.deleteBook(Id,bookName);
    }
    //修改
    public  void upData(book book){
        bookMapper.upData(book);
    }
}

3.4Controller

Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果。他的重点就在于如何从HTTP请求中获得信息,提取参数,并分发给不同的处理服务。

package com.xbfinal.Controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xbfinal.ssm.pojo.book;
import com.xbfinal.ssm.service.bookUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@Controller
public class bookController {
    @Autowired
    private bookUser bookUser;
    
    @RequestMapping("/")
    public String toIndex() {
        return "index";
    }

    //查询所有的书籍
    @RequestMapping("/allBook/{pn}")
    public String getAll(Model model,
    @PathVariable(value="pn",required = false) Integer pn) {
        //查询书
        //映入PageHelper分页插件
        //在查询之前调用//传入页码和每页显示的数目
        PageHelper.startPage(pn, 5);//紧跟者就是分页查询

        List all = bookUser.getAll();
        System.out.println("信息"+all);
        //使用pageInfo 包装查询后的结果
        PageInfo page = new PageInfo(all,5);//5是连续连续显示的页数
        model.addAttribute("page",page);
        return "books/allBook";
    }

    //跳转到添加书籍的页面
    @RequestMapping("/toAddBook")
    public String toAddBook(){
        return "books/addBook";
    }

    //添加书籍的请求
    @RequestMapping( value= "/addBook",method = RequestMethod.GET)
    public String addBook(book book){
    bookUser.addBook(book);
    return "redirect:/allBook/1";
    }

   //删除
    @RequestMapping(value="/deleteBook/{bookId}/{bookName}" ,method = RequestMethod.DELETE)
    public String deleteBook(
            @PathVariable("bookId") int bookId,
            @PathVariable("bookName") String bookName){
        bookUser.deleteBook(bookId,bookName);
        return "redirect:/allBook/1";//删除后应该用重定向
    }
    //跳转修改页面
    @PutMapping( "/upDataBook/{bookId}/{bookName}/{BookCounts}")
    public String deleteBook(
            @PathVariable("bookId") int bookId,
            @PathVariable("bookName") String bookName,
            @PathVariable("BookCounts") String BookCounts,Model model
    ){
        final book book = new book(bookId,bookName,BookCounts,null);
        model.addAttribute("book",book);
        return "books/toUpData";
    }
    //修改请求
    @PostMapping("/Update01")
    public String Update01(book book){
        bookUser.upData(book);
        return "redirect:/allBook/1";
    }



}

其中使用了分页插件pagehelperpagehelper是mybatis的一个插件,其作用是更加方便地进行分页查询

添加依赖

 
            com.github.pagehelper
            pagehelper
            5.0.0
        

然后需要在mybatis配置文件中开启分页插件




    
    
        
        
    


常用数据:
  • pageNum:当前页的页码
  • pageSize:每页显示的条数
  • size:当前页显示的真实条数
  • total:总记录数
  • pages:总页数
  • prePage:上一页的页码
  • nextPage:下一页的页码
  • isFirstPage/isLastPage:是否为第一页/最后一页
  • hasPreviousPage/hasNextPage:是否存在上一页/下一页
  • navigatePages:导航分页的页码数
  • navigatepageNums:导航分页的页码,[1,2,3,4,5]

如果感觉博主的文章还不错的话,点赞 + 关注 + 羅收藏羅

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号