Last time I shared a springboot+vue campus recruitment system, video tutorials and project source code. They are all open source and should be said to be very fragrant. Today I'll share a good springboot project.
Old rules, open source, open source, open source!!!
Here comes the golden nine and silver ten, boys, rush! Many interview questions have been sorted out in front. Take them to learn!
4,After that, I summarized the knowledge points of SpringBoot and cache, and quickly mastered them
5,Mysql interview encyclopedia, after reading it, you can hang and beat the interviewer!!!
7,❤️ Junior college background, get Ali offer, Xiao Meng calls 666! [hard core interview] ❤️
8,❤️ The design mode is finished, quite complete! Tencent and Ali's offer has been taken! ❤️
No nonsense, go straight to dry goods!
catalogue
1. System source code download address
1. System source code download address
https://gitee.com/springmeng/medical-system
2. System tutorial:
For general development projects, mengge is still relatively fast, but recording tutorials is really time-consuming!
In order to help you better understand the project, let's record it!
All open source!
Little buddy, remember to give it to the third company!
The tutorial is very detailed:
3. System environment
System development platform:
JDK1.8+Maven3.6.1
Framework: springboot 2 X+Layui
Database and tools: MySQL 5 7 Navicat
Development tool: Intellij Idea
Browser: Chrome
Technologies involved: MySql, Springboot, MyBatisPlus, lombok, Shiro, layui, jquery, element
4. System demonstration
If you want to see the detailed demonstration, you'd better watch the video:
https://www.bilibili.com/video/BV1eh411k7P3
Old fellow iron, these good actual combat items, do you confirm that there are three links? Hey, hey
5. System core code
controller:
@Controller public class UserController { /** * Go to the login page */ @RequestMapping(value = "/login") public String login(){ return "/login"; } /** * Judge whether the user login is successful */ @RequestMapping(value = "/toLogin") @ResponseBody public Object toLogin(String username,String password){ if(username==null||password==null){ return ResultMapUtil.getHashMapLogin("User name and password cannot be empty","2"); } Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(username,password); try{ subject.login(token); }catch (UnknownAccountException e){ return ResultMapUtil.getHashMapLogin("user name does not exist","2"); }catch (IncorrectCredentialsException e){ return ResultMapUtil.getHashMapLogin("Password error","2"); } return ResultMapUtil.getHashMapLogin("Validation succeeded","1"); } /** * Turn to the background management home page */ @RequestMapping(value = "/index") public String index(){ return "/index"; } /** * Log out */ @RequestMapping(value = "/logout") public String logout(){ Subject subject = SecurityUtils.getSubject(); subject.logout(); return "redirect:/login"; } }
SupplierController
public class SupplierController { @Autowired private ISupplierService supplierService; /** * Go to supplier page */ @RequestMapping public String supplier(){ return "/supplier"; } /** * Query vendor list by page */ @RequestMapping(value = "/supplierQueryPage") @ResponseBody public Object supplierQueryPage(String param, @RequestParam(defaultValue = "1")int pageNum,@RequestParam(defaultValue = "10")int pageSize){ try{ IPage<Supplier> iPage = supplierService.selectSupplierPage(pageNum,pageSize,param); return ResultMapUtil.getHashMapMysqlPage(iPage); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Turn to the new supplier page */ @RequestMapping(value = "/supplierPage") public String supplierPage(){ return "/supplierPage"; } /** * Add a vendor */ @RequestMapping(value = "/supplierAdd") @ResponseBody public Object supplierAdd(Supplier supplier){ try{ supplier.setCreatetime(new Date()); int i = supplierService.addSupplier(supplier); return ResultMapUtil.getHashMapSave(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Go to supplier edit page */ @RequestMapping(value = "/supplierQueryById") public String supplierQueryById(@RequestParam(name = "id",required = true)Integer id, Model model){ Supplier supplier = supplierService.querySupplierById(id); model.addAttribute("obj",supplier); return "/supplierPage"; } /** * Modify a supplier */ @RequestMapping(value = "/supplierEdit") @ResponseBody public Object supplierEdit(Supplier supplier){ try{ int i = supplierService.editSupplier(supplier); return ResultMapUtil.getHashMapSave(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Delete a supplier */ @RequestMapping(value = "/supplierDelById") @ResponseBody public Object supplierDelById(Integer id){ try{ int i = supplierService.delSupplierById(id); return ResultMapUtil.getHashMapDel(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } }
SaleinfoController
@Autowired private ISaleinfoService saleinfoService; /** * Go to the sales record page */ @RequestMapping public String saleinfo(){ return "/saleinfo"; } /** * Paging query sales record list */ @RequestMapping(value = "/saleinfoQueryPage") @ResponseBody public Object saleinfoQueryPage(String param, @RequestParam(defaultValue = "1")int pageNum,@RequestParam(defaultValue = "10")int pageSize){ try{ IPage<Saleinfo> iPage = saleinfoService.selectSaleinfoPage(pageNum,pageSize,param); return ResultMapUtil.getHashMapMysqlPage(iPage); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Turn to the new sales record page */ @RequestMapping(value = "/saleinfoPage") public String saleinfoPage(){ return "/saleinfoPage"; } /** * Add a sales record */ @RequestMapping(value = "/saleinfoAdd") @ResponseBody public Object saleinfoAdd(Saleinfo saleinfo){ try{ int i = saleinfoService.addSaleinfo(saleinfo); return ResultMapUtil.getHashMapSave(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Turn to the sales record editing page */ @RequestMapping(value = "/saleinfoQueryById") public String saleinfoQueryById(@RequestParam(name = "id",required = true)Integer id, Model model){ Saleinfo saleinfo = saleinfoService.querySaleinfoById(id); model.addAttribute("obj",saleinfo); return "/saleinfoPage"; } /** * Modify a sales record */ @RequestMapping(value = "/saleinfoEdit") @ResponseBody public Object saleinfoEdit(Saleinfo saleinfo){ try{ int i = saleinfoService.editSaleinfo(saleinfo); return ResultMapUtil.getHashMapSave(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } } /** * Delete a sales record */ @RequestMapping(value = "/saleinfoDelById") @ResponseBody public Object saleinfoDelById(Integer id){ try{ int i = saleinfoService.delSaleinfoById(id); return ResultMapUtil.getHashMapDel(i); } catch (Exception e){ return ResultMapUtil.getHashMapException(e); } }
6. Data sheet design
DROP TABLE IF EXISTS `billinfo`; CREATE TABLE `billinfo` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `sname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Supplier name', `dname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Drug name', `count` int(10) NULL DEFAULT NULL COMMENT 'Quantity of drugs', `total` float(20, 2) NULL DEFAULT NULL COMMENT 'Total amount', `buytime` datetime(0) NULL DEFAULT NULL COMMENT 'Purchase time', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Billing information' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of billinfo -- ---------------------------- INSERT INTO `billinfo` VALUES (1, 'Harbin No. 6 pharmaceutical factory', 'Ganmaoling', 1000, 22500.00, '2021-02-02 16:00:00'); -- ---------------------------- -- Table structure for druginfo -- ---------------------------- DROP TABLE IF EXISTS `druginfo`; CREATE TABLE `druginfo` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'name', `supplier` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'supplier', `producttime` date NULL DEFAULT NULL COMMENT 'Production time', `warrenty` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Shelf life (month)', `number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Drug code', `price` float(20, 2) NULL DEFAULT NULL COMMENT 'Price', `stock` int(10) NULL DEFAULT NULL COMMENT 'stock', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Drug information' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of druginfo -- ---------------------------- INSERT INTO `druginfo` VALUES (2, 'Ganmaoling', 'Harbin No. 6 pharmaceutical factory', '2020-01-27', '24', '1001', 22.50, 50); INSERT INTO `druginfo` VALUES (3, 'Baiyao tablet', 'Yunnan Baiyao', '2021-02-02', '36', '2021052', 30.50, 100); -- ---------------------------- -- Table structure for owinfo -- ---------------------------- DROP TABLE IF EXISTS `owinfo`; CREATE TABLE `owinfo` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `dname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Drug name', `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Ex warehouse/Warehousing', `count` int(10) NULL DEFAULT NULL COMMENT 'quantity', `operator` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Operator', `createtime` datetime(0) NULL DEFAULT NULL COMMENT 'Operation time', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Stock in and stock out' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of owinfo -- ---------------------------- INSERT INTO `owinfo` VALUES (1, 'Baiyao tablet', 'Ex warehouse', 3, 'Hua Tuo', '2021-02-20 14:21:53'); INSERT INTO `owinfo` VALUES (2, 'Ganmaoling', 'Warehousing', 20, 'Flat magpie', '2021-02-20 14:22:12'); -- ---------------------------- -- Table structure for problem -- ---------------------------- DROP TABLE IF EXISTS `problem`; CREATE TABLE `problem` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `dname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Drug name', `dcount` int(10) NULL DEFAULT NULL COMMENT 'Quantity of problem drugs', `dprice` float(20, 2) NULL DEFAULT NULL COMMENT 'Drug unit price', `reason` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Cause of problem', `createtime` datetime(0) NULL DEFAULT NULL COMMENT 'Operation time', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Problem drug' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of problem -- ---------------------------- INSERT INTO `problem` VALUES (1, 'Ganmaoling', 2, 22.50, 'It's damp. Do not deceive consumers.', '2021-02-24 14:19:36'); -- ---------------------------- -- Table structure for returngoods -- ---------------------------- DROP TABLE IF EXISTS `returngoods`; CREATE TABLE `returngoods` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'Primary key', `dname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Drug name', `count` int(10) NULL DEFAULT NULL COMMENT 'quantity', `reason` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'Reason for return', `total` float(20, 2) NULL DEFAULT NULL COMMENT 'Total amount', `operatetime` datetime(0) NULL DEFAULT NULL COMMENT 'Operation time', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Return received' ROW_FORMAT = Dynamic;
I'm Xiao Meng. Remember to give me a compliment. Thanks!
If you want to contact me, you can go to the home page.
Little friends like, collect and comment, and walk up three times with one button. See you next time~~