自学Java day41 图书管理系统-springboot快速开发 从jvav到架构师

自学Java day41 图书管理系统-springboot快速开发 从jvav到架构师,第1张

前端:html + css + jvavscript + vue + ajax + axios + element ui

后端:jvav + springboot + mybatisplus + mysql数据库

项目管理工具:maven

服务器:jetty

相关功能演示

首先启动jetty服务器

 进入页面

新增图书

 

编辑图书 

查询图书

 

 删除图书

 

前端源码: 







    

    

    

    jvav.springboot

    

    

    

    

    







    

        图书管理

    

    

        

            

                

                查询

                新建

            

            

                

                

                

                

                

                    

                

            

            

            

                

                    

                        

                            

                                

                                    

                                

                            

                            

                                

                                    

                                

                            

                        


                        

                            

                                

                                    

                                

                            

                        

                    

                    

                        取消

                        确定

                    

                

            

            

            

                

                    

                        

                            

                                

                                    

                                

                            

                            

                                

                                    

                                

                            

                        

                        

                            

                                

                                    

                                

                            

                        

                    

                    

                        取消

                        确定

                    

                

            

        

    

















 

后端源码:

        Spring Boot 简化了 Spring 应用繁琐的搭建和开发过程,去除了大量的 XML 配置文件,简化了复杂的依赖管理。

Service实现类:

SQL语句由mybatisplus生成

package com.company.service.impl;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.company.controller.Code;
import com.company.dao.BookDao;
import com.company.domain.Book;
import com.company.excetption.BusinessException;
import com.company.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class BookServiceImpl implements BookService {

    @Autowired
    BookDao bookDao;

    public boolean add(Book book) {
        return bookDao.insert(book) > 0;
    }

    public boolean deleteById(int id) {
        if (id <= 0) {
            throw new BusinessException(Code.BUSINESS_ERR, "你丫的传的些什么");
        }
        return bookDao.deleteById(id) > 0;
    }

    public boolean update(Book book) {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("id", book.getId());
        return bookDao.update(book, queryWrapper) > 0;
    }

    public Book getById(int id) {
        return bookDao.selectById(id);
    }

    public List select() {
        return bookDao.selectList(new QueryWrapper());
    }

    public List getx(Book book) {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq(book.getName() != "", "name", book.getName());
        return bookDao.selectList(queryWrapper);
    }

}

实例类:

相关方法由@Data注解生成

package com.company.domain;

import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;

@Data
public class Book {
    //@TableId(type = IdType.AUTO)
    private Integer id;
    private String type;
    private String name;
    private String description;
    @TableLogic(value = "0" ,delval = "1")
    private Integer deleted;
    
}

 

异常处理:

package com.company.controller;

import com.company.excetption.BusinessException;
import com.company.excetption.SystemException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class ProjectErr {

    @ExceptionHandler(BusinessException.class)
    public Result businessErr(BusinessException e) {
        return new Result(e.getCode(), null, e.getMessage());
    }

    @ExceptionHandler(SystemException.class)
    public Result systemErr(SystemException e) {
        return new Result(e.getCode(), null, e.getMessage());
    }

    @ExceptionHandler(Exception.class)
    public Result err(Exception e) {
        return new Result(Code.SYSTEM_UNKNOW_ERR, null, "系统繁忙,请稍后再试");
    }
}

因采用mybatisplus逻辑删除,因此相关数据未真正删除,依然保留在数据库中,方便日后管理

至此,已完成对jvav se 、jvav sql、jvav web、jvav spring系的学习

完整源码过于啰嗦,这里就不放了,有需要者欢迎评论/私信获取

世界线回溯,从jvav到架构师

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/871092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存