Springboot快速开发-书本信息管理系统(项目源码)
创始人
2024-04-06 04:08:31

【我后续会发一个资源包,里面是所有代码,数据库表设计也有,大学生可以直接用,导入数据库运行,再导入后端项目和前端项目,再去网页运行就好了,效果图下面有】

 

1、考核要求:

  1. 数据库:MYSQL5.7+
  2. 后台技术:SpringBoot
  3. 前端技术:vue+elementui
  4. 代码简洁、有合理的注解,前面页面排版工整

2、考核注意事项

1.运行sql脚本,创建数据库及书本表(根据我的实体类建表就可以了,整个项目可直接运行,跨域问题已处理,前后端的端口也已处理)

2.后台代码注意事项

        a.Maven地址的修改(修改成你自己的);

        b.依赖可能不在本地,需要联网重新下载;

        c.jdbc.properties设置,数据库相关配置:数据库名/账号/密码,请修改成自己电脑所对应的账号和密码。

        d.generatorConfig.xml设置:Ⅰ:修改classPathEntry配置,更换成本地maven仓库中mysql数据库jdbc驱动jar包的位置;Ⅱ:修改table配置表信息(tableName和domainObjectName),更换成考试中对应数据库表;Ⅲ:点击Edit Configurations...配置,添加Maven,输入命名:mybatis-gerenator:gerenate -e;

        e.application.yml设置:数据库相关设置:数据库名/帐号/密码,请修改成自己电脑对应的帐号和密码

        f.由于电脑tomcat以及jdk的安装位置不一样,请重新配置jdk和tomcat

        g.以上步骤完成,先不要写任何代码,先将web项目发布至tomcat并启动,如果首页访问成功,表示web项目部署成功,可以开始编写后台代码了

3.前端代码注意事项:

1.vue项目框架已搭建完成,为减小源码大小,相关模块已删除,运行项目前,请先进入vue项目根目录,使用npm install命令下载相关模块(此步骤需要联网)

2.项目启动后无需添加路由或*.vue文件,运行后会直接跳转到BookList.vue,在此vue文件中添加相关功能即可

3.开动

generatorConfig.xml、jdbc.properties、application.yml这三个配置文件我就不展示了,有需要的下载我的资源包

数据库表建好之后→导入前端(可以把需要的依赖先下载,然后干自己的事)→导入后端(进行我上面所说的那些后端操作)→写完代码运行后端→在写前端代码(运行前端)

以下是后端的代码:

Model层:Book

package com.zking.spboot.model;public class Book {private Integer id;private String bookname;private Float price;private String booktype;public Book(Integer id, String bookname, Float price, String booktype) {this.id = id;this.bookname = bookname;this.price = price;this.booktype = booktype;}public Book() {super();}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getBookname() {return bookname;}public void setBookname(String bookname) {this.bookname = bookname;}public Float getPrice() {return price;}public void setPrice(Float price) {this.price = price;}public String getBooktype() {return booktype;}public void setBooktype(String booktype) {this.booktype = booktype;}
}

Mapper层:BookMapper

package com.zking.spboot.mapper;import com.zking.spboot.model.Book;
import org.springframework.stereotype.Repository;import java.util.List;
@Repository
public interface BookMapper {/*** 根据书本名称模糊查询* @param book* @return*/List queryAll(Book book);int deleteByPrimaryKey(Integer id);int insert(Book record);int insertSelective(Book record);Book selectByPrimaryKey(Integer id);int updateByPrimaryKeySelective(Book record);int updateByPrimaryKey(Book record);
}

BookMapper.xml 



id, bookname, price, booktypedelete from t_bookwhere id = #{id,jdbcType=INTEGER}insert into t_book (id, bookname, price, booktype)values (#{id,jdbcType=INTEGER}, #{bookname,jdbcType=VARCHAR}, #{price,jdbcType=REAL}, #{booktype,jdbcType=VARCHAR})insert into t_bookid,bookname,price,booktype,#{id,jdbcType=INTEGER},#{bookname,jdbcType=VARCHAR},#{price,jdbcType=REAL},#{booktype,jdbcType=VARCHAR},update t_bookbookname = #{bookname,jdbcType=VARCHAR},price = #{price,jdbcType=REAL},booktype = #{booktype,jdbcType=VARCHAR},where id = #{id,jdbcType=INTEGER}update t_bookset bookname = #{bookname,jdbcType=VARCHAR},price = #{price,jdbcType=REAL},booktype = #{booktype,jdbcType=VARCHAR}where id = #{id,jdbcType=INTEGER}

Service层:BookService

package com.zking.spboot.service;import com.zking.spboot.model.Book;
import org.springframework.stereotype.Repository;import java.util.List;public interface BookService {/*** 根据书本名称模糊查询* @param book* @return*/List queryAll(Book book);/*** 新增书本* @param record* @return*/int insert(Book record);}

impl层:BookServiceImpl

package com.zking.spboot.service.impl;import com.zking.spboot.mapper.BookMapper;
import com.zking.spboot.model.Book;
import com.zking.spboot.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** 实现类*/
@Service
public class BookServiceImpl implements BookService {@Autowiredprivate BookMapper bookMapper;@Overridepublic List queryAll(Book book) {return bookMapper.queryAll(book);}@Overridepublic int insert(Book record) {return bookMapper.insert(record);}}

Controller层:BookController

package com.zking.spboot.controller;import com.zking.spboot.model.Book;
import com.zking.spboot.service.BookService;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("/book")
public class BookController {@Autowiredprivate BookService bookService;@RequestMapping("/addBook")public JsonResponsBody addBook(Book book){bookService.insert(book);return new JsonResponsBody<>();}@RequestMapping("/queryAll")public JsonResponsBody> queryAll(Book book){List books = bookService.queryAll(book);return new JsonResponsBody<>(200,"OK",books);}@Data@AllArgsConstructor@NoArgsConstructorclass JsonResponsBody{private int code=200;private String mag="Ok";private T data;}
}

跨域问题处理:

package com.zking.spboot;import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.transaction.annotation.EnableTransactionManagement;@MapperScan("com.zking.spboot.mapper")
@EnableTransactionManagement
@EnableAspectJAutoProxy
@SpringBootApplication
public class SpbootApplication {public static void main(String[] args) {SpringApplication.run(SpbootApplication.class, args);}}

以下是前端的代码:

前端接收后端的请求路径,src下面的action.js

/*** 对后台请求的地址的封装,URL格式如下:* 模块名_实体名_操作*/
export default {//服务器'SERVER': 'http://localhost:8080/spboot','ADD':'book/addBook','ALL':'book/queryAll',//获得请求的完整地址,用于mockjs测试时使用'getFullPath': k => {return this.SERVER + this[k];}
}

前端页面:


 以上就是今天的分享!!!

刚好有大学生找我帮忙写这个项目,我想可以与大家分享一下代码,有其他同行需要代码的也可以找我。感谢支持!

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...