前端技术: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风格开发的基础增删改查操作。