基于springboot开发的图书管理系统

前端技术:html + css + jvavscript + vue + axios + element ui

后端技术:java+ springboot + mybatisplus + mysql数据库

项目管理工具:maven

服务器:tomcat

      相关功能演示

点击新增功能按钮,弹出新增图书界面。

 输入相关信息后,点击确定按钮,弹出成功提示。

 点击编辑功能按钮,弹出修改图书界面。

 输入相关信息后,点击确定按钮,弹出成功提示。

  点击删除功能按钮,弹出是否修改提示。

  点击确定按钮,弹出删除成功提示。

 在查询框输入要查询的信息,点击查询后得到想要查询的信息。

 后端代码:

数据层代码:

@Mapper
public interface BookDao extends BaseMapper<Book> {
}

由于使用了mybatis-plus工具简化了开发,接口中原来基础的增删改查,由继承的BaseMapper类中提供。因此简化了书写。

业务层接口代码:

public interface IBookService extends IService<Book> {

    IPage<Book> getPage (int currentPage, int pageSize);

    IPage<Book> getPage(int currentPage, int pageSize, Book book);
}

mybatis-plus提供的IService<Book>接口包含了基础的增删改查方法,同样帮助我们简化了业务层的开发。

业务层实现类代码:

@Service
public class BookServiceImpl extends ServiceImpl<BookDao, Book> implements IBookService {

    @Autowired
    private BookDao bookDao;

    @Override
    public IPage<Book> getPage(int currentPage, int pageSize) {
        IPage page =new Page( currentPage,pageSize);
        return  bookDao.selectPage(page, null);
    }

    @Override
    public IPage<Book> getPage(int currentPage, int pageSize, Book book) {
        LambdaQueryWrapper<Book> lqw =new LambdaQueryWrapper<>();
        lqw.like(Strings.isNotEmpty(book.getType()),Book::getType,book.getType());
        lqw.like(Strings.isNotEmpty(book.getName()),Book::getName,book.getName());
        lqw.like(Strings.isNotEmpty(book.getDescription()),Book::getDescription,book.getDescription());
        IPage page =new Page( currentPage,pageSize);
        return  bookDao.selectPage(page, lqw);
    }
}

表现层代码:

@RestController
@RequestMapping("/books")
public class BookController {
    @Autowired
    private IBookService bookService;

    @GetMapping
    public R getAll(){
        List<Book> books = bookService.list();
        return new R(true,books);
    }
    @PostMapping
    public R save(@RequestBody Book book){
        boolean flag = bookService.save(book);
        return new R(flag,flag ? "添加成功" : "添加失败!");
    }

    @PutMapping
    public R update(@RequestBody  Book book){
        boolean flag = bookService.updateById(book);
        return new R(flag, flag ? "修改成功" : "修改失败");
    }

    @GetMapping("/{id}")
    public R getById(@PathVariable Integer id){
        return new R(true,bookService.getById(id));
    }

    @DeleteMapping("/{id}")
    public R deteleById(@PathVariable Integer id){
        return new R(true,bookService.removeById(id));
    }
    @GetMapping("/{currentPage}/{pageSize}")
    public R getPage (@PathVariable int currentPage,@PathVariable int pageSize,Book book ){
        //如果当前页码值大于总页码值,将总页码值作为当前查询页码值
        IPage<Book> page = bookService.getPage(currentPage,pageSize,book);
        if(currentPage >page.getPages()){
            page = bookService.getPage((int) page.getPages(),pageSize,book);
        }
        return new R(true,page);
    }
}

基于rest风格开发的基础增删改查操作。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值