前端: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到架构师
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)