springboot mybatis easyui 整合的一个小demo

这是最终完成界面

话不多说 开整!
这是项目结构

数据库 表结构和数据库 (有点乱 之前本来是个正经图书表的 = =。)

/*
Navicat MySQL Data TransferSource Server         : ldw
Source Server Version : 50524
Source Host           : localhost:3306
Source Database       : book-proTarget Server Type    : MYSQL
Target Server Version : 50524
File Encoding         : 65001Date: 2020-04-14 11:22:40
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL COMMENT '名称',`cover` varchar(255) DEFAULT NULL COMMENT '封面',`price` float DEFAULT NULL COMMENT '价格',`intro` varchar(1024) DEFAULT NULL COMMENT '介绍',`auther` varchar(255) DEFAULT NULL COMMENT '作者',`press` varchar(255) DEFAULT NULL COMMENT '出版社',`pubdate` varchar(255) DEFAULT NULL COMMENT '出版日期',`special` int(1) DEFAULT '0' COMMENT '特卖',`news` int(1) DEFAULT '0' COMMENT '新书',`sale` int(1) DEFAULT '0' COMMENT '打折',`category_id` int(11) DEFAULT NULL COMMENT '分类',PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=176 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO `book` VALUES ('1', '罗伯特议事规则', 'upload/boren.jpg', '40.9111', '123', '罗伯特', '格致出版社', '2020-02-19', null, null, null, '1');
INSERT INTO `book` VALUES ('69', '大头儿子小头爸爸', null, '12', '', null, '大头儿子小头爸爸出版社', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('70', '123', null, '12312', '', null, '123213', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('71', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('72', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('2', '重新发现社会', '/upload/2.jpg', '26.9', '《重新发现社会》(修订本)对身处“历史三峡”中的中国及其前途作了一次通盘思考,内容涉及政治、经济、社会以及历史、文化、互联网等领域。作者以“中国,重新发现社会”为大脉络,既条分缕析了国家与社会的关系,又提纲挈领地记录了近几十年来中国社会的革命性成长。如何超越左右纷争,重建国家伦理底线;如何重新焕发社会的活力与创造、扶正个体的权益与价值,即在“自由即秩序”的条件下建设一个“新新中国”,是本书探讨的重点。', '熊培云', '新星出版社', '2011-05-01', '0', '1', '0', '2');
INSERT INTO `book` VALUES ('3', '鲁迅经典全集', '/upload/3.jpg', '141.6', '至于作者为什么对中国未来有信心,读者当能从本书中找到答案。', '鲁迅', '湖南人民出版社', '2015-09-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('4', '触及灵魂的旅行', '/upload/4.jpg', '21', '旅途不仅是行走,更是与自己的心灵和解、与世界温柔相拥的过程。灵魂命令我们对这星球的美一见倾心。人不能一味走下去,要驻扎在行程的空隙中,和灵魂会合。《人生终要有一场触及灵魂的旅行》是毕淑敏在环球旅行后的最美的心得,是一场清新温暖的治愈系环球旅行,更是一次与灵魂见面的约定。本书以作者近年来的旅行心得为主题,收集了游记、手札23篇。如同一个睿智、风趣而又宽厚的旅伴,带你走进一段柔软的时光,让心灵安静的绽放。去寻找那些曾出现在梦境中的路径、山峦与田野吧,趁阳光正好,趁微风不噪,趁繁花还未开至荼蘼,趁现在还年轻,还可以走很长很长的路,还能诉说很深很深的思念。', '毕淑敏', '湖南文艺出版社', '2014-02-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('5', '物种起源', '/upload/5.jpg', '37.4', '《物种起源》是达尔文(1809-1882年)论述生物进化论的重要著作,出版于1859年11月24日。该书大概是19世纪最具有争议的著作,其中的观点大多数为当今科学界普遍接受。在该书中,达尔文首次提出了进化论的观点。他使用自己在19世纪30年代环球科学考察中积累的资料,试图证明物种的演化是通过自然选择(天择)和人工选择(人择)的方式实现的。', '查理·达尔文 ', '江苏人民出版社', '2011-03-01', '0', '0', '0', '3');
INSERT INTO `book` VALUES ('6', '相对论', '/upload/6.jpg', '24', '这是一部彻底颠覆经典物理学观念的创世之书。它否定了牛顿的绝对时空观,认为空间不是平直的欧几里得空间,而是在引力场中弯曲的黎曼空间;时间也不是独立于空间的单独一维,它无时无刻不在空间之中,与空间构成一个统一的四维时空整体。这是一部并非凭借双眼,而是用智慧发现并创建了宇宙新秩序的书。它揭示了宇宙所具有的超乎寻常的秘密;同时性的相对性;运动中的钟慢、尺缩效应;水星的近日点异动;光谱红移;引力场中时钟变慢等。', '阿尔伯特·爱因斯坦 ', '江苏人民出版社', '2011-03-01', '1', '0', '0', '3');
INSERT INTO `book` VALUES ('7', '明朝那些事儿', '/upload/7.jpg', '138.6', '《明朝那些事儿》这篇文主要讲述的是从1344年到1644年这三百年间关于明朝的一些事情,以史料为基础,以年代和具体人物为主线,并加入了小说的笔法,对明朝十七帝和其他王公权贵和小人物的命运进行全景展示,尤其对官场政治、战争、帝王心术着墨最多,并加入对当时政治经济制度、人伦道德的演义。', '当年明月', '浙江人民出版社', '2011-12-01', '0', '0', '0', '4');
INSERT INTO `book` VALUES ('8', '这个历史挺靠谱', '/upload/8.jpg', '49.5', '《这个历史挺靠谱:袁腾飞讲历史》是《历史是个什么玩意儿》系列的升级珍藏版。本系列开启全民读史新潮流,自问世以来畅销至今,第一册为《这个历史挺靠谱:袁腾飞讲中国史.上》,第二册为《这个历史挺靠谱:袁腾飞讲中国史.下》,第三册为《这个历史挺靠谱:袁腾飞讲世界史》(注:将原《历史是个什么玩意儿3:袁腾飞说世界史上》和《历史是个什么玩意儿4:袁腾飞说世界史下》合并为一本,内容更扎实、更实惠)。', '袁腾飞', '湖南人民出版社', '2013-07-01', '0', '1', '0', '4');
INSERT INTO `book` VALUES ('9', '芈月传', '/upload/9.jpg', '135.8', '战国时期,芈月是楚威王最宠爱的小公主,但在楚威王死后生活一落千丈,母亲向氏被楚威后逐出宫,芈月和弟弟芈戎躲过了一次次灾难和危机。芈月与楚公子黄歇青梅竹马,真心相爱,但被作为嫡公主芈姝的陪嫁媵侍远嫁秦国。芈姝当上了秦国的王后,芈月不得已成为宠妃。原本的姐妹之情在芈月生下儿子嬴稷以后渐渐分裂。诸子争位,秦王嬴驷抱憾而亡。芈月和儿子被发配到遥远的燕国。不料秦武王嬴荡举鼎而亡,秦国大乱。芈月借义渠军力回到秦国,平定了秦国内乱。芈月儿子嬴稷登基为王,史称秦昭襄王。芈月当上了史上第一个皇太后,史称宣太后。', '蒋胜男', '浙江文艺出版社', '2015-11-01', '1', '0', '0', '5');
INSERT INTO `book` VALUES ('10', '献给亲爱的邵先生', '/upload/10.jpg', '44.3', '他高冷疏淡,惜字如金,回答她永远只有一个字:“好”。她觉得,他一字,重若千钧。新人气作家浮光锦暖心之作,两万字番外倾情放送。2015年度暖萌动人的纯粹深爱。每一个努力向上的女孩,都值得一个深情如斯的邵先生,谨以此文,献给所有为爱情努力变得更好的女孩。', '浮光锦', '江苏文艺出版社', '2015-10-01', '0', '0', '0', '5');
INSERT INTO `book` VALUES ('11', '陶艺制作圣经', '/upload/11.jpg', '148.5', '《陶艺制作圣经》所演示的技术,采用开放式的诠释而非指令、说明书似的语气,从不建议只有一种方法可达成目标;《陶艺制作圣经》也不会指出应做什么东西;成型步骤如同机械构件,在探索技术的可能性的同时拥有更多创作上的自由;用非传统的方法挑战传统的方法;我们也会探讨**的技术和操作实践。目的是鼓励读者的实验性和好奇心,为将来的陶艺创作建立自信心,并打下坚实基础。', '泰勒', '北京美术摄影出版社', '2014-05-01', '1', '0', '0', '6');
INSERT INTO `book` VALUES ('12', '中国陶瓷史增订版', '/upload/12.jpg', '266', '《中国陶瓷史》的主要内容是:古陶瓷学界耆宿叶喆民先生的这部通史巨著,是在其《中国陶瓷史纲要》一书基础上结合近年新发现、新成果倾力著成,集中体现了作者的治学方法:科学研究与传统鉴定方法并重;注重实地考察,并同文献和传统经验相结合,而非孤立、片面地轻断真伪、迟早;同时,不轻易放过窑址出土的特殊品种或典型瓷片。对于各大窑系的分类,作者运用比较学方法来对比观察相似品种及其烧成方法,联系地质特征与历史渊源,找出其主流或分支而理清脉络,例如他在1977—1985年对汝窑窑址的发现和认定,即是用此种方法取得的重大成果。在古陶瓷鉴定与鉴赏方面,作者提倡“既识真假,亦辨美丑”,“既以物稀为贵,亦讲难能可贵”;对于古陶瓷与书画艺术的有机联系,特别是对唐宋陶瓷的推崇,多有阐发。行文雅秀、旁征博引而不失明晰;注释、附录亦堪称周备。蒙读者厚爱,《中国陶瓷史》在初版三年后得以再版。新版增订至近55万字,图版增换计170余帧,其中既有出自各博物馆及私人珍藏,也有作者实地考察所摄罕见之物。', '叶喆民', '生活.读书.新知三联书店', '2014-03-01', '0', '0', '0', '6');
INSERT INTO `book` VALUES ('13', '美国纽约摄影学院', '/upload/13.jpg', '98', '一本经久实用的教材总是引导我们去把握摄影作晶与影像之外的时空所形成的各种相互冲突和相互生成的关系,从而使得视觉的权力越来越具有主体性。这本实际而通俗的摄影入门书,很好地解答了我对于摄影技术的疑惑,它会让你成为优秀的摄影匠,如果你继续深入阅读与实践,*终会成为优秀的摄影家', '美国纽约摄影学院', '中国摄影出版社', '2010-08-01', '0', '0', '0', '7');
INSERT INTO `book` VALUES ('14', '单反摄影宝典', '/upload/14.jpg', '44.5', '本书不是简单的为讲解技法而讲解的,而是通过萃取目前国内外最创新的拍摄技法,结合作者多年的实战拍摄经验,整合出一套最适合读者需求的摄影技法宝典。内容全面丰富,包括:1,操作技术——菜单、曝光模式、白平衡、感光度、光圈、快门等操作控制;2,拍摄技法——水平线构图、对角线构图、曲线构图、三角形构图、突破性构图等构图方法,以及顺光、侧光、逆光、色彩搭配等用光法则;3,主题拍摄——风光、人像、建筑和园林、花卉、夜景、体育、动物、静物、美食、展场和舞台等不同主题的实战拍摄;4,镜头与附件——人像镜头、风光镜头、微距镜头等性价比最高的镜头推荐,以及必备的滤镜、摄影包、三脚架、闪光灯等附件的推荐;5,后期技术——色彩优化、曝光调整、对比度调整、曲线应用等。', '雷依里,郑毅', '水利水电出版社', '2012-06-01', '0', '0', '0', '7');
INSERT INTO `book` VALUES ('15', '汉字书法之美', '/upload/15.jpg', '33.1', '五千多年前,象征黎明曙光的第一个汉字出现了,文字在天地之间被创造出来,在动物骨骸、金属、石头、竹简、纸帛上被记录下来,在各个朝代以或沉重朴厚,或飞扬婉转,或森严宏大,或肆意狂放的书写线条,完成了每个时代美学最集中的表现。到了现代,汉字不曾消失、不肯遗忘,更将拥有悠长丰沛的活力。', '蒋勋', '广西师范大学出版社', '2014-08-01', '0', '0', '0', '8');
INSERT INTO `book` VALUES ('16', '中国书法', '/upload/16.jpg', '29.9', '中国书法包含丰富而复杂的技法,但从无一份关于全部技法的清单。《中国书法:167个练习》是一部以167个练习组成的书法技法教材,这167个练习包括了传统书法和现代书法创作的全部基本技法。其中包含一些从未被讨论过的内容。', '邱振中', '中国人民大学出版社', '2005-06-01', '0', '0', '0', '8');
INSERT INTO `book` VALUES ('17', '脊椎病因治疗学', '/upload/17.jpg', '44.9', '脊椎病因治疗学是研究脊椎遭受损害后,对脊髓、周围神经、血管及内脏神经连带出现的一系列病症采用治脊疗法治疗的一门新兴学说。脊椎相关疾病的发现,为一些常见疾病的发病补充了新的病因学说,为临床疑难病症开辟了一条新而有效的诊治途径,在医学界影响深远。', '龙层花 ', '世界图书出版公司', '2012-06-01', '0', '1', '0', '9');
INSERT INTO `book` VALUES ('18', '实用骨科学', '/upload/18.jpg', '398.4', '本书由骨科学权威专家集体编著,在前3版的基础上修订而成,共5篇59章,前两篇为上册,后三篇为下册。第一篇骨科基础,包括骨骼、关节软骨、骨骺、脊柱、脊髓的形态结构、生理功能、病理改变和四肢关节运动的生物力学,骨科物理检查、影像学检查和其他辅助检查,固定、牵引、手法复位、关节穿刺等常用治疗技术,四肢与脊柱手术途径和围术期处理,关节镜技术和骨科常见严重并发症等;第二篇创伤骨科,包括骨与关节常见创伤,骨折愈合及其影响因素,各种固定技术与器械,上肢、颈椎、胸腰椎、脊髓、骨盆、下肢、周围神经、四肢血管、骨骺、关节等损伤的处理,以及火器伤、骨不连、畸形愈合、断肢、断掌和断指再植等;第三篇骨病,包括先天性、代谢性骨病,骨与关节感染,大脑性瘫痪后遗症,骨肿瘤与肿瘤样疾患,骨坏死与腱鞘滑囊疾病等;第四篇部位骨科,包括肩、肘、手、脊柱、髋、膝、足部疾病;第五篇修复与重建,包括骨移植,骨科肌瓣与肌皮瓣的应用,显微外科,足外伤缺损修复重建,人工关节,截肢、假肢与支具,以及关节矫形术等。作者以总结自己的实践经验为主,同时吸收了国内外近年来对骨科学研究的最新成果,较全面地反映了骨科学的发展水平。', '胥少汀', '人民军医出版社', '2012-01-01', '0', '1', '0', '9');
INSERT INTO `book` VALUES ('19', '住宅设计的34个法则', '/upload/19.jpg', '23.9', '作者说,想要掌握使住宅舒适的学问,并且对住宅灌注温柔的情感。如此,住宅设计的34个法则告诉你,不仅要住,还想宅在里面。', '中山繁信', '江苏科学技术出版社', '2014-08-01', '0', '0', '1', '10');
INSERT INTO `book` VALUES ('20', '软装设计师手册套装', '/upload/20.jpg', '228', '手册:鉴于目前市面上没有一本专门提供给室内设计师的软装设计专业书籍,本书从建筑的历史讲起,理论与实际经验并具,首先了解与室内装修息息相关的建筑历史,接着由软装领域的环节切入,利用案例来讲解如何利用软装进行搭配。图文并茂,实用性强。礼仪:随着国内软装市场的成熟,设计会愈来愈趋向个性化、人性化,这是大势所趋。因此,我们更需要从文化的视角来展现个性,凸显品位和格调。', '简名敏', '中国人民大学出版社', '2013-12-01', '0', '1', '0', '10');
INSERT INTO `book` VALUES ('21', '500个侦探推理游戏', '/upload/21.jpg', '11.9', '侦探推理游戏是一种具有高度刺激性的思维游戏,它不但有助于大脑思维的系统锻炼,有助于吸收智慧的精华,还能够培养人们对推理的兴趣,献给人们一个趣味十足的世界。多做侦探推理游戏,可以活跃思维,挑战智慧,最大限度地发挥推理潜能,提高智商,让你无论是在生活中,还是参加500强企业面试,公务员、MBA等各类考试,都能轻松应对。', '黄青翔', '中国华侨出版社', '2011-01-01', '0', '0', '1', '11');
INSERT INTO `book` VALUES ('22', '狗狗绘', '/upload/22.jpg', '20.9', '翻开这本书你一定会感叹“我家的狗狗怎么能这么可爱!”没错,这就是为那些总是摇着尾巴等你回家,跑前跑后围着你绕圈的热情的小家伙们准备的礼物啦!在你拿起笔为爱撒娇的喵星人画像的时候,屋里的狗狗正叼着自己心爱的玩具用水汪汪的眼神控诉你的偏心呢。光给猫咪画像可不行哦,狗狗会吃醋的!那么,快来一起画出对它们的爱吧~~', '飞乐鸟', '水利水电出版社', '2013-11-01', '0', '1', '0', '11');
INSERT INTO `book` VALUES ('23', '学会管自己', '/upload/23.jpg', '64', '这套童话语言优美,故事精彩,想象奇特,并配有大量精美手绘插图,是基础阅读和文学启蒙的上选。该书系统地归纳了孩子从幼儿园大班到小学中低年级这段时间里会面临的主要问题,帮助学龄前和小学低年级学生在独立品格、学习能力、社会适应三方面应对小学新环境,让孩子顺利完成对外部环境变化的适应和自我角色的转变,在富有文学性的故事中,引导孩子学会认真不马虎,学会勤快不拖延,不找借口不搪塞,坚持自我不盲从,发现优点不自卑,学会坚持不放弃……共10册,4-6岁亲子共读,7-9岁独立阅读。', '陈梦敏', '海豚出版社', '2014-08-01', '0', '0', '0', '12');
INSERT INTO `book` VALUES ('24', '星际精灵蓝多多', '/upload/24.jpg', '102.1', '由环境保护部宣教中心联合国内一线儿童作家李志伟、星河、史雷、余雷、汪玥含,与上海世纪出版集团学林出版社合作,打造的中国青少年生态意识教育丛书。作为国内图书市场**套冠以“生态”概念的儿童文学作品,讲述了6个性格各异的小伙伴——具有超能力的蓝多多、调皮的蔡小豆、憨厚的包子、乖巧的唐古丽、爱财的唐古拉以及“小官迷”关小颖在调研环境途中发生的各种有趣、刺激的故事,生动有趣。它以环保为主题,科幻为形式,深入浅出地讲述环保知识,包括保护森林、保护海洋、合理处置垃圾、正确利用污泥干化粉粒等。培育孩子们的生态环保意识,更引导青少年在潜移默化中学会独立思考,懂得爱和尊重,爱身边的每一个人,爱我们生存的世界。', '李志伟', '学林出版社', '2015-10-01', '0', '0', '0', '12');
INSERT INTO `book` VALUES ('25', '文化苦旅', '/upload/25.jpg', '22.8', '《文化苦旅》一书于1992年首次出版,是余秋雨先生1980年代在海内外讲学和考察途中写下的作品,是他的第一部文化散文集。全书主要包括两部分,一部分为历史、文化散文,另一部分为回忆散文。甫一面世,该书就以文采飞扬、知识丰厚、见解独到而备受万千读者喜爱。由此开创“历史大散文”一代文风,令世人重拾中华文化价值。他的散文别具一格,见常人所未见,思常人所未思,善于在美妙的文字中一步步将读者带入历史文化长河,启迪哲思,引发情致,具有极高的审美价值和史学、文化价值。书中多篇文章后入选中学教材。但由于此书的重大影响,在为余秋雨先生带来无数光环和拥趸的同时,也带来了数之不尽的麻烦和盗版。誉满天下,“谤”亦随身。余秋雨先生在身心俱疲之下,决定亲自修订、重编此书。', '余秋雨', '长江文艺出版社', '2014-03-01', '0', '0', '1', '1');
INSERT INTO `book` VALUES ('26', '三毛:撒哈拉的故事', '/upload/26.jpg', '15', '三毛作品中最脍炙人口当属《撒哈拉的故事》,本书由十几篇精彩动人的散文结合而成,其中《沙漠中的饭店》,是三毛适应荒凉单调的沙漠生活后,重新拾笔的第一篇文章,从此之后,三毛便写出一系列以沙漠为背景的故事,倾倒了全世界的华文读者。', '三毛', '北京十月文艺出版社', '2013-12-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('27', '你心柔软,却有力量', '/upload/27.jpg', '28.5', '台湾知名作家林清玄老师最新散文精选,书中收录《生命的化妆》《迷路的云》《温一壶月光下酒》《黄昏菩提》《正向时刻》《求好》《有情十二贴》《不是茶》《柔软心》等48篇不同时期经典作品。', '林清玄', '长江文艺出版社', '2015-04-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('28', '恰到好处的幸福', '/upload/labixiaoxin.jpg', '19.7', '恰到好处,是一种哲学和艺术的结晶体。它代表的豁达和淡然,是幸福门前的长廊。轻轻走过它,你就可以拍打幸福的门环。佛家有一句话,叫“无挂碍物者无恐怖”,不妨借用来,少需要物者少烦恼。因为必需少,所以受限轻。人就获得了更快的行走,更高的飞翔。本书把“幸福”作为一种正面的人生价值提出。教你如何构建合理期望,在欲望和现实中找到平衡,收获丰硕愉悦的幸福人生。', '毕淑敏', '湖南文艺出版社', '2020-02-18', null, null, null, '1');
INSERT INTO `book` VALUES ('29', '你是人间四月天', '/upload/29.jpg', '14', '《你是人间四月天》收录了林徽因几乎所有的诗歌、散文、小说。包括诗歌《谁爱这不息的变幻》《你是人间的四月天》《激昂》,散文《悼志摩》《一片阳光...', '林徽因', '北京联合出版公司', '2014-12-01', '1', '0', '1', '1');
INSERT INTO `book` VALUES ('41', '蜡笔小新', '/upload/labixiaoxin.jpg', '12', '12', '12', '12', '2020-02-18', null, null, null, '1');
INSERT INTO `book` VALUES ('42', '蜡笔小新', '/uploadlabixiaoxin.jpg', '12', '12', '臼井义人', 'japan', '2019-2-13', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('30', '鲁迅全集', '/upload/30.jpg', '199', '《全集》由蔡元培任主席的鲁迅先生纪念委员会负责编校,编辑委员有蔡元培、马裕藻、沈兼士、茅盾、周作人诸先生。《全集》总目以鲁迅亲定的著述目录为...', '鲁迅 ', '北京日报出版社(原同心出版社)', '2014-05-01', '1', '0', '1', '1');
INSERT INTO `book` VALUES ('43', '龙珠', '/upload/qilongzhu.jpg', '12', '12', '12', '12', '2020-02-18', null, null, null, '1');
INSERT INTO `book` VALUES ('44', '12', '/upload/omg.jpg', '12', '12', '12', '12', '2020-02-18', null, null, null, '1');
INSERT INTO `book` VALUES ('31', '愿生命从容', '/upload/31.jpg', '31', '周国平执笔35周年白金纪念版,经典篇目全收录 。收录豆瓣、人人、百度、新浪、网易、腾讯等亿万网友感动和推荐*多的篇目,横跨周国平三十载创作经典,诚如周国平在自序中言,“我嫌我的作品选本已经太多,对于出版新的选本总是十分犹豫,可是这个选本很特别,我决定开绿灯。好比烹饪,点菜率高反映了某种普遍的口味,把这些品种集中起来,专开一间餐厅,对于人们未尝不是提供了方便。”选篇经典全面,**值得再三阅读,细细品味。', '周国平', '北京十月文艺出版社', '2015-06-01', '1', '0', '1', '1');
INSERT INTO `book` VALUES ('32', '有梦不觉人生寒', '/upload/32.jpg', '26.4', '全书分为“真命气象”、“真回山水”、“真如本性”、“真心欢喜”等八个侧面,求真问道;并配以“国学小站”和经典美图,让读者在一次次丰美的国学滋养中,邂逅自我,重建生命,得一己清欢。', '于丹', '长江文艺出版社', '2015-07-01', '1', '0', '0', '1');
INSERT INTO `book` VALUES ('33', '新版文化苦旅', '/upload/33.jpg', '23.8', '新版《文化苦旅》作为余秋雨先生30年历史文化散文修订自选集,出版近1年后,在全新和改写的篇目达到三分之二以上的基础上,增补了《信客》《漂泊者》《这里真安静》《写经修行》等篇目,特别是作者最新创作的历史大散文《文化之痛》为作者多年思考中国历史之力作。', '余秋雨', '长江文艺出版社', '2014-04-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('34', '君子之道', '/upload/34.jpg', '28.3', '余秋雨耗费十几年探索,阅遍文化,行尽千里,撼动万亿华人读者,终成总结性成果。“那么多年过去,直到今天,终于可以搁笔搓手,告诉读者,我把事情的另一半也做了。”作者一切的研究都是为了研究中华民族的集体人格做准备,因为只要是中国人,都会对自己的集体人格极为敏感', '余秋雨', '北京联合出版公司', '2014-08-01', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('35', '今生今世', '/upload/35.jpg', '22.8', '《今生今世》:胡兰成散文体自传,叙述其传奇一生。作者身处民国乱世,人生遭遇跌宕起伏,对世景世情,感触深入、独到。虽是颠沛流离,却以翻转生命的姿态、欢喜的笔调总结和反省一生。在其笔下,一路展开的,尽是悠悠人世的美丽风景。', '胡兰成', '北京联合出版公司', '2013-04-01', '1', '0', '0', '1');
INSERT INTO `book` VALUES ('61', '111', null, '111', '111', null, '111', '111', '0', '0', '0', null);
INSERT INTO `book` VALUES ('62', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('63', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('64', '111111', null, '111111', '111111', null, '111111', '111111', '0', '0', '0', null);
INSERT INTO `book` VALUES ('65', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('66', '2222', null, '2222', '2222', null, '2222', '2222', '0', '0', '0', null);
INSERT INTO `book` VALUES ('67', '1234', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('68', '123123', null, '123123', '123123', null, '123123', '123123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('37', '觉醒的力量', '/upload/37.jpg', '22.8', '觉醒是一种巨大的内在力量,拥有了这个力量,一切外来的负面力量都不能真正把你打败。面对天灾人祸,世风的不正,人心的不善,落在你头上的不义,你诚...', '周国平', '广西师范大学出版社', '2015-05-01', '0', '1', '0', '1');
INSERT INTO `book` VALUES ('57', null, null, null, null, null, null, null, '0', '0', '0', null);
INSERT INTO `book` VALUES ('58', '脑经急转弯', null, null, null, null, null, null, '0', '0', '0', null);
INSERT INTO `book` VALUES ('59', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('60', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('38', '人间草木', '/upload/38.jpg', '22.6', '《人间草木》是汪曾祺写他的旧人旧事、旅行见闻、各地风土人情、花鸟虫鱼的经典散文集,字里行间充分流露出他对凡人小事和乡土名俗的深深眷恋和对旧日生活情景的缅怀。  这是一部写给所有文学爱好者的最珍贵的名家经典作品,本书通过精选汪曾祺先生的多篇经典散文,作品具有浓郁的乡土气息,显示出沈从文的师承,堪称当代小品文的经典,让读者足不出户便能领略一代散文大师作品的风采。', '汪曾祺', '天津人民出版社', '2014-04-01', '1', '0', '0', '1');
INSERT INTO `book` VALUES ('39', '灵魂只能独行', '/upload/39.jpg', '24.6', '大学校园里一直流传着“男生不可不读王小波,女生不可不读周国平”之说,周国平的散文以情理并茂、哲理和诗情交融著称,二十余年来长销不衰,滋养了数代年轻人的心灵。这一套《周国平散文经典》精选了作者最优秀的散文作品,按照主题分为四卷,周国平称其为“历年来编选得最好的”版本。', '周国平', '人民文学出版社', '2009-05-01', '0', '0', '1', '1');
INSERT INTO `book` VALUES ('56', '123', '/upload/omg.jpg', '123', '123', '123', '123', '123', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('55', '123', '/upload/sousuo1.jpg', '123', '123', '123', '123', '2020-02-23', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('49', '博人', '/upload/boren.jpg', '1', '1', '12', '1', '2020-02-18', null, null, '1', '1');
INSERT INTO `book` VALUES ('50', '123', '/upload/boren.jpg', '123', '', '1', '1', '2020-02-18', '0', '0', '0', '1');
INSERT INTO `book` VALUES ('52', '罗伯特议事规则1', '/upload/xiaoying.jpg', '123', '123', '123', '123', '2020-02-19', null, null, null, '1');
INSERT INTO `book` VALUES ('53', '忍者神龟', '/upload/renzhe.jpg', '11', '《忍者神龟》改编自幻影工作室(Mirage Studios)1984年发行的美国漫画,由凯文·伊斯曼(Kevin Eastman)及彼德·拉特(Peter Laird)创作、幻影工作室(Mirage Studios)出版。', '1', '1', '2020-02-19', '1', '1', '0', '1');
INSERT INTO `book` VALUES ('54', '游戏王', '/upload/youxiwang.jpg', '11', '《游戏王》是由ぎゃろっぷ制作的电视动画,于2000~2004年之间在东京电视台播出,全224集。\r\n改编自高桥和希创作的漫画《游戏王》第8~38卷的以卡牌怪兽决斗和七件千年神器为主线的故事,但因为中途漫画故事情节进度跟不上,故加插大量漫画没有的剧情和人物。此举为脱离原作独立创作故事奠定下基础。 [1] \r\n为纪念《游戏王》诞生20周年,日本将从2015年2月7日起,将该电视动画重制,推出《游戏王-怪兽之决斗 20th Remaster》,让原作的爱好者们重温漫画的起点。', '1', '1', '2020-02-19', '1', '0', '0', '1');
INSERT INTO `book` VALUES ('73', '741', null, '741', '', null, '741', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('74', '我啊', null, '123', '', null, '我啊', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('75', '你啊', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('76', '他啊', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('77', '我和你', null, '123', '31231231231233131313213123123313123', null, '123', '123123123231223123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('78', '王大锤', null, '12312300', '', null, '312312312', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('79', '蜡笔小新', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('80', '12312312', null, '1231230', '', null, '123123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('81', '123123123', null, '123312', '', null, '123123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('82', '123123', null, '1231230', '', null, '123123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('83', '我', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('84', '你', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('85', '你1', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('86', '你12', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('87', '你121', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('88', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('89', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('90', '123', null, '123', '123', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('91', '123', null, '123', '123', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('92', '123', null, '123123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('93', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('94', '罗伯特议事规则1', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('95', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('96', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('97', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('98', '1234', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('99', '12345', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('100', '111', null, '111', '', null, '111', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('101', '1112', null, '111', '', null, '111', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('102', '11123', null, '111', '', null, '111', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('103', '1234', null, '1234', '', null, '1234', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('109', '1234', null, '1234', '1234', null, '1234', '1234', '0', '0', '0', null);
INSERT INTO `book` VALUES ('110', '1112', null, '111', '123', null, '111', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('111', '123', null, '123', '123', null, '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('112', '1234', null, '1234', '123', null, '1234', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('113', '1234', null, '1234', '123', null, '1234', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('115', '123', null, '123', '', null, '123', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('116', 'zzz', null, '123', '', null, 'zzzz', '', null, null, null, null);
INSERT INTO `book` VALUES ('119', 'q\'q\'q111', null, '123', '', null, '123', '', null, null, null, null);
INSERT INTO `book` VALUES ('120', '123', null, '123', '', null, '1111', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('121', '123', null, '123', null, '12', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('122', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('123', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('124', 'q\'q\'q', null, '123', null, 'q\'q\'q', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('125', 'q\'q\'qqqqzzzz', null, '123', null, 'z\'z\'z\'z', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('126', '111', null, '333', null, '222', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('127', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('139', '1234', null, '1234', null, '1234', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('129', 'qqqq', null, '123444', null, '111111', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('141', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('140', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('142', 'qqq', null, '123', null, 'qqq', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('143', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('144', '111', null, '111', null, '111', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('145', '罗伯特议事规则1', null, '1233', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('146', '王大锤', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('147', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('148', '111', null, '111', null, '111', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('149', '123', null, '12', null, '12', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('150', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('151', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('152', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('153', '123', null, '123', null, '123', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('154', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('155', '123', null, '123', null, '123', '111', '111', '0', '0', '0', null);
INSERT INTO `book` VALUES ('156', '123', null, '123', null, 'q\'q\'q', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('157', 'qqqq\'qqq', null, '123', null, 'qqqq\'q\'q', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('158', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('159', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('160', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('161', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('162', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('163', '', null, null, null, '', '', '', '0', '0', '0', null);
INSERT INTO `book` VALUES ('164', '123', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('165', '123', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('166', '123', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('167', 'qqq', null, '123', null, 'qqq', 'qqq', 'qqq', '0', '0', '0', null);
INSERT INTO `book` VALUES ('168', '123', null, '12312', null, 'dsdad', 'q\'q\'q\'q', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('169', '123', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('170', 'qwe123', null, '123', null, 'q\'we', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('171', '123', null, '123', null, '123', '13', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('172', '123', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('173', 'qqwe', null, '123', null, '123', '123', '123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('174', 'qqqq123', null, '123123', null, 'qweqwe123', '123123', '123123', '0', '0', '0', null);
INSERT INTO `book` VALUES ('175', '11123', null, '11123', null, '11123', '123', '123', '0', '0', '0', null);

pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.ldw</groupId><artifactId>easyui-springboot-mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>easyui-springboot-mybatis</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!--没带web 项目开启会自动关 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!--Mybatis启动器--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency><!-- mysql数据库驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency><!--热部署 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional><scope>true</scope></dependency><!-- 自动生成mapper、pojo --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency><!--fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.45</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- 自动生成mapper、pojo 配置--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><configurationFile>src/main/resources/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration></plugin></plugins><resources><!-- 通过配置,可以读取到resources下的配置、资源文件文件--><resource><directory>src/main/resources</directory><includes><!--不考虑是否有不需要的文件当成资源文件配置成扫描所有的 (就没有问题了?)--><include>**/*.*</include><!--<include>**/*.properties</include>--><!--<include>**/*.xml</include>--><!--<include>**/*.html</include>--><!--<include>**/*.css</include>--><!--<include>**/*.jpg</include>--><!--<include>**/*.js</include>--><!--<include>**/*.png</include>--></includes></resource></resources></build></project>

application.properties

#配置项目端口号
server.port=8066
server.servlet.context-path=/easyui-springboot-mybatis#编码格式
server.tomcat.uri-encoding=utf-8#数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/book-pro?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root#mybatise
mybatis.type-aliases-package=com.ldw.pojo
mybatis.mapper-locations=classpath:mapper/*.xml#打印执行的sql
logging.level.com.ldw.mapper=debug #分页配置
pagehelper.helperDialect=mysql
#pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.pageSizeZero=false #pageSize=0

BookMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ldw.mapper.BookMapper"><resultMap id="BaseResultMap" type="com.ldw.pojo.Book"><id column="id" jdbcType="INTEGER" property="id" /><result column="name" jdbcType="VARCHAR" property="name" /><result column="cover" jdbcType="VARCHAR" property="cover" /><result column="price" jdbcType="REAL" property="price" /><result column="intro" jdbcType="VARCHAR" property="intro" /><result column="auther" jdbcType="VARCHAR" property="auther" /><result column="press" jdbcType="VARCHAR" property="press" /><result column="pubdate" jdbcType="VARCHAR" property="pubdate" /><result column="special" jdbcType="INTEGER" property="special" /><result column="news" jdbcType="INTEGER" property="news" /><result column="sale" jdbcType="INTEGER" property="sale" /><result column="category_id" jdbcType="INTEGER" property="categoryId" /></resultMap><sql id="Base_Column_List">id, name, cover, price, intro, auther, press, pubdate, special, news, sale, category_id</sql><select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from bookwhere id = #{id,jdbcType=INTEGER}</select><delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">delete from bookwhere id = #{id,jdbcType=INTEGER}</delete><insert id="insert" parameterType="com.ldw.pojo.Book">insert into book (id, name, cover, price, intro, auther, press, pubdate, special, news, sale, category_id)values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{cover,jdbcType=VARCHAR}, #{price,jdbcType=REAL}, #{intro,jdbcType=VARCHAR}, #{auther,jdbcType=VARCHAR}, #{press,jdbcType=VARCHAR}, #{pubdate,jdbcType=VARCHAR}, #{special,jdbcType=INTEGER}, #{news,jdbcType=INTEGER}, #{sale,jdbcType=INTEGER}, #{categoryId,jdbcType=INTEGER})</insert><insert id="insertSelective" parameterType="com.ldw.pojo.Book">insert into book<trim prefix="(" suffix=")" suffixOverrides=","><if test="id != null">id,</if><if test="name != null">name,</if><if test="cover != null">cover,</if><if test="price != null">price,</if><if test="intro != null">intro,</if><if test="auther != null">auther,</if><if test="press != null">press,</if><if test="pubdate != null">pubdate,</if><if test="special != null">special,</if><if test="news != null">news,</if><if test="sale != null">sale,</if><if test="categoryId != null">category_id,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="id != null">#{id,jdbcType=INTEGER},</if><if test="name != null">#{name,jdbcType=VARCHAR},</if><if test="cover != null">#{cover,jdbcType=VARCHAR},</if><if test="price != null">#{price,jdbcType=REAL},</if><if test="intro != null">#{intro,jdbcType=VARCHAR},</if><if test="auther != null">#{auther,jdbcType=VARCHAR},</if><if test="press != null">#{press,jdbcType=VARCHAR},</if><if test="pubdate != null">#{pubdate,jdbcType=VARCHAR},</if><if test="special != null">#{special,jdbcType=INTEGER},</if><if test="news != null">#{news,jdbcType=INTEGER},</if><if test="sale != null">#{sale,jdbcType=INTEGER},</if><if test="categoryId != null">#{categoryId,jdbcType=INTEGER},</if></trim></insert><update id="updateByPrimaryKeySelective" parameterType="com.ldw.pojo.Book">update book<set><if test="name != null">name = #{name,jdbcType=VARCHAR},</if><if test="cover != null">cover = #{cover,jdbcType=VARCHAR},</if><if test="price != null">price = #{price,jdbcType=REAL},</if><if test="intro != null">intro = #{intro,jdbcType=VARCHAR},</if><if test="auther != null">auther = #{auther,jdbcType=VARCHAR},</if><if test="press != null">press = #{press,jdbcType=VARCHAR},</if><if test="pubdate != null">pubdate = #{pubdate,jdbcType=VARCHAR},</if><if test="special != null">special = #{special,jdbcType=INTEGER},</if><if test="news != null">news = #{news,jdbcType=INTEGER},</if><if test="sale != null">sale = #{sale,jdbcType=INTEGER},</if><if test="categoryId != null">category_id = #{categoryId,jdbcType=INTEGER},</if></set>where id = #{id,jdbcType=INTEGER}</update><update id="updateByPrimaryKey" parameterType="com.ldw.pojo.Book">update bookset name = #{name,jdbcType=VARCHAR},cover = #{cover,jdbcType=VARCHAR},price = #{price,jdbcType=REAL},intro = #{intro,jdbcType=VARCHAR},auther = #{auther,jdbcType=VARCHAR},press = #{press,jdbcType=VARCHAR},pubdate = #{pubdate,jdbcType=VARCHAR},special = #{special,jdbcType=INTEGER},news = #{news,jdbcType=INTEGER},sale = #{sale,jdbcType=INTEGER},category_id = #{categoryId,jdbcType=INTEGER}where id = #{id,jdbcType=INTEGER}</update><select id="selectAllBookByPage" resultType="com.ldw.pojo.Book" parameterType="java.lang.String">select * from book<if test="name != '' and name != null ">where name like "%"#{name}"%"</if>order by id desc</select>
</mapper>

pojo层(实体)

package com.ldw.pojo;public class Book {private Integer id;private String name;private String cover;private Float price;private String intro;private String auther;private String press;private String pubdate;private Integer special;private Integer news;private Integer sale;private Integer categoryId;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCover() {return cover;}public void setCover(String cover) {this.cover = cover;}public Float getPrice() {return price;}public void setPrice(Float price) {this.price = price;}public String getIntro() {return intro;}public void setIntro(String intro) {this.intro = intro;}public String getAuther() {return auther;}public void setAuther(String auther) {this.auther = auther;}public String getPress() {return press;}public void setPress(String press) {this.press = press;}public String getPubdate() {return pubdate;}public void setPubdate(String pubdate) {this.pubdate = pubdate;}public Integer getSpecial() {return special;}public void setSpecial(Integer special) {this.special = special;}public Integer getNews() {return news;}public void setNews(Integer news) {this.news = news;}public Integer getSale() {return sale;}public void setSale(Integer sale) {this.sale = sale;}public Integer getCategoryId() {return categoryId;}public void setCategoryId(Integer categoryId) {this.categoryId = categoryId;}@Overridepublic String toString() {StringBuilder sb = new StringBuilder();sb.append(getClass().getSimpleName());sb.append(" [");sb.append("Hash = ").append(hashCode());sb.append(", id=").append(id);sb.append(", name=").append(name);sb.append(", cover=").append(cover);sb.append(", price=").append(price);sb.append(", intro=").append(intro);sb.append(", auther=").append(auther);sb.append(", press=").append(press);sb.append(", pubdate=").append(pubdate);sb.append(", special=").append(special);sb.append(", news=").append(news);sb.append(", sale=").append(sale);sb.append(", categoryId=").append(categoryId);sb.append("]");return sb.toString();}
}

dao层

package com.ldw.mapper;import com.ldw.pojo.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;import java.util.List;
@Mapper
public interface BookMapper {int deleteByPrimaryKey(Integer id);int insert(Book record);int insertSelective(Book record);Book selectByPrimaryKey(Integer id);int updateByPrimaryKeySelective(Book record);int updateByPrimaryKey(Book record);List<Book> selectAllBookByPage(@Param("name") String name);
}

service

package com.ldw.service;import com.ldw.pojo.Book;import java.util.List;public interface BookService {List<Book> selectAllBookByPage(String name);int insertSelective(Book record);int deleteByPrimaryKey(int id);int updateByPrimaryKeySelective(Book record);
}

serviceImpl

package com.ldw.service.impl;import com.ldw.mapper.BookMapper;
import com.ldw.pojo.Book;
import com.ldw.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<Book> selectAllBookByPage(String name) {return bookMapper.selectAllBookByPage(name);}@Overridepublic int insertSelective(Book record) {return bookMapper.insertSelective(record);}@Overridepublic int deleteByPrimaryKey(int id) {return bookMapper.deleteByPrimaryKey(id);}@Overridepublic int updateByPrimaryKeySelective(Book record) {return bookMapper.updateByPrimaryKeySelective(record);}
}

controller

package com.ldw.controller;import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ldw.pojo.Book;
import com.ldw.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;@RequestMapping("/bookController")
@Controller
public class BookController {@Autowiredprivate BookService bookServiceImpl;@ResponseBody@RequestMapping("/selectAllBookByPage")public Map  selectAllBookByPage(HttpServletRequest request){String name = request.getParameter("name");int page = Integer.parseInt(request.getParameter("page"));int rows = Integer.parseInt(request.getParameter("rows"));//通过PageHelper进行分页PageHelper.startPage(page,rows);PageInfo pageInfo = new PageInfo(bookServiceImpl.selectAllBookByPage(name));//得到数据总条数int total = (int) pageInfo.getTotal();Map map = new HashMap();//想让easyui的datagrid进行分页 需要rows(当前页显示的数据)和total(总数据数)map.put("rows",pageInfo.getList());map.put("total",total);return map;}@ResponseBody@RequestMapping("/insertSelective")public Map  insertSelective(@RequestBody Book book){int result = bookServiceImpl.insertSelective(book);Map map = new HashMap();map.put("status",result);return map;}@ResponseBody@RequestMapping("/deleteByPrimaryKey")public Map  deleteByPrimaryKey(HttpServletRequest request){int id = Integer.parseInt(request.getParameter("id"));int num = bookServiceImpl.deleteByPrimaryKey(id);Map map = new HashMap();map.put("status",num);return map;}@ResponseBody@RequestMapping("/updateByPrimaryKeySelective")public Map updateByPrimaryKeySelective(@RequestBody Book book){int result = bookServiceImpl.updateByPrimaryKeySelective(book);Map map = new HashMap();map.put("status",result);return map;}}

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>书籍管理</title><link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"><script type="text/javascript" src="easyui/jquery.min.js"></script><script type="text/javascript" src="easyui/jquery.easyui.min.js"></script><script>//通过这个方法 达到点击左侧菜单栏 右侧center区域跳转界面的效果function openURL(title, url) {$("#pageContent").panel({title: title,href: url});}</script>
</head>
<body class="easyui-layout">
<div data-options="region:'north',title:'North Title',split:true" style="height:100px;"><h1>管理系统</h1>
</div>
<div data-options="region:'south',title:'South Title',split:true" style="height:100px;">版权所有 © XX XXX有限公司
</div>
<!--<div data-options="region:'east',title:'East',split:true" style="width:100px;"></div>-->
<div data-options="region:'west',title:'West',split:true" style="width:150px;"><a href="javascript:;" onclick="openURL('图书管理', 'book.html')">书籍管理</a>
</div>
<div id="pageContent" data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;"><img src="book.jpg"></div>
</body>
</html>

book.html(也就是你在菜单栏点击图书管理后 center区域跳转的界面)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"><script type="text/javascript" src="easyui/jquery.min.js"></script><script type="text/javascript" src="easyui/jquery.easyui.min.js"></script></head>
<body>
<div id="tb"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="add()"></a><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" onclick="doRemove()"></a><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" onclick="edit()"></a><input id="bookName" type="text" placeholder="根据书名查找"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" onclick="doSearch()"></a>
</div>
<div id="dg"></div>
<div id="saveWindow" class="easyui-window"><div style="padding: 10px 60px 20px 60px"><form id="saveForm"><table><tr style="display: none"><td>id</td><td><input id="id" name="id"></td></tr><tr><td>书名</td><td><input id="name" name="name"></td></tr><tr><td>作者</td><td><input id="auther" name="auther"></td></tr><tr><td>价格</td><td><input id="price" name="price"></td></tr><tr><td>出版社</td><td><input id="press" name="press"></td></tr><tr><td>出版时间</td><td><input id="pubdate" name="pubdate"></td></tr><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="提交" onclick="doSave()"></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<inputtype="button" value="重置" onclick="doClear()"></td></tr></table></form></div>
</div><script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
<script>$(function () {$('#dg').datagrid({url: 'bookController/selectAllBookByPage',//自动扩大或缩小列的尺寸以适应网格的宽度fitColumns: true,//工具栏toolbar: '#tb',//奇偶行使用不同背景色striped: true,//分页pagination: true,//只能选择一行singleSelect: true,//第一次加载页码pageNumber: 1,//默认每页大小pageSize: 15,//页码选择大小pageList: [5, 15, 20, 50],columns: [[{field: 'id', title: 'id', width: 50},{field: 'name', title: 'name', width: 200},{field: 'auther', title: 'auther', width: 100},{field: 'price', title: 'price', width: 200, align: 'right'},{field: 'intro', title: 'intro', width: 400},{field: 'press', title: 'press', width: 200},{field: 'pubdate', title: 'pubdate', width: 200},]]});$('#saveWindow').window({width: 400,//模式化窗口modal: true,//能显示阴影的时候是否显示阴影shadow: true,closed: true,height: 250,//能否改变窗口大小resizable: false});$('#name').validatebox({required: "true",validType: "length[0,30]"})$('#price').validatebox({required: "true",})$('#auther').validatebox({required: "true",validType: "length[0,30]"})})function add() {$('#saveWindow').window({title: '添加图书',});$('#saveForm').form('clear');$('#saveWindow').window('open');}function doSave() {if ($('#id').val() == null || $('#id').val() == '') {doAdd();} else {doEdit();}}function doAdd() {if ($('#saveForm').form('validate')) {var array = $('#saveForm').serializeArray();var obj = {};//分配内存空间for (var i = 0; i < array.length; i++) {//数据类型为"自定义类的字段名=数据"后台会自动对数据进行匹配obj[array[i].name] = array[i].value;}$.ajax({url: "bookController/insertSelective",type: 'POST',dataType: 'json',data: JSON.stringify(obj),contentType: 'application/json; charset=UTF-8',success: function (result) {if (result.status == 1) {$('#saveWindow').window('close');$.messager.alert('提示信息', '添加成功', 'info');$('#dg').datagrid('reload');} else {$.messager.alert('提示信息', '添加失败', 'warning');}},error: function () {$.messager.alert('警告', '后台错误,请联系管理员!', 'warning');}});}}function doClear() {$('#saveForm').form('clear');}function doRemove() {var select = $('#dg').datagrid('getSelected');if (select == null) {$.messager.alert('提示信息', '请先选择一行', 'warning');return false;} else {$.messager.confirm('警告', '你确定要删除吗?', function (r) {if (r) {$.ajax({url: 'bookController/deleteByPrimaryKey',type: 'POST',data: 'id=' + select.id,dataType: 'json',success: function (result) {if (result.status == 1) {$('#dg').datagrid('reload');$.messager.alert('提示信息', '删除成功', 'info');} else {$.messager.alert('提示信息', '删除失败', 'error');}}})}})}}function edit() {var select = $('#dg').datagrid('getSelected');if (select == null) {$.messager.alert('提示信息', '请先选择一行', 'warning');} else {$('#saveWindow').window({title: '修改图书',});$('#saveWindow').window('open');$('#saveForm').form('load', select);}}function doEdit() {if ($('#saveForm').form('validate')) {var array = $('#saveForm').serializeArray();var obj = {};for(var i =0 ; i<array.length; i++){obj[array[i].name] = array[i].value;}$.ajax({url: "bookController/updateByPrimaryKeySelective",type: "POST",dataType: "json",data: JSON.stringify(obj),contentType: "application/json",success: function (result) {if (result.status == 1) {$('#saveWindow').window('close');$('#dg').datagrid('reload');} else {$.messager.alert('提示信息', '添加失败', 'warning');}},error: function () {$.messager.alert('警告', '后台错误,请联系管理员!', 'warning');}})}}function doSearch() {$('#dg').datagrid('load', {name: $('#bookName').val()});}
</script>
</body>
</html>

自己也是个小菜鸟
有问题 欢迎指出!
如果能帮助到你 真是太好了~

springboot mybatis easyui 整合的一个小demo相关推荐

  1. springboot + mybatis +easyUI整合案例

    概述 springboot推荐使用的是JPA,但是因为JPA比较复杂,如果业务场景复杂,例如企业应用中的统计等需求,使用JPA不如mybatis理想,原始sql调优会比较简单方便,所以我们的项目中还是 ...

  2. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十三)数据层优化-表规范、索引优化

    本文提要 最近写的几篇文章都是关于数据层优化方面的,这几天也在想还有哪些地方可以优化改进,结合日志和项目代码发现,关于数据层的优化,还是有几个方面可以继续修改的,代码方面,整合了druid数据源也开启 ...

  3. Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 前言 项目展示地址,点这里http://ssm-demo.13blo ...

  4. Spring+SpringMVC+MyBatis+easyUI整合优化篇(五)MockMvc服务端的单元测试

    日常啰嗦 承接前一篇文章<Spring+SpringMVC+MyBatis+easyUI整合优化篇(四)单元测试实例>,已经讲解了dao层和service层的单元测试,还有控制器这层也不能 ...

  5. springboot+mybatis+redis整合

    springBoot+mybatis+redis整合,这里搭建一个简单的框架是为了记录怎么使用redis做缓存. 一.构建一个springboot的maven项目,目录结构如下: 二.在pom.xml ...

  6. java线程间通信:一个小Demo完全搞懂

    版权声明:本文出自汪磊的博客,转载请务必注明出处. Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过. 一.从一个小Demo说起 上篇我们聊到了Java多线程的同步 ...

  7. cuda编程与gpu并行计算(三):一个小demo了解cuda基本语法

    gpu程序的一般步骤 CPU分配空间给GPU(cudaMalloc) CPU复制数据给GPU(cudaMemcpy) CPU加载kernels给GPU做计算(Kernel核: 可以理解为C/C++中的 ...

  8. windows环境下使用clion引入eigen库并实现一个小demo

    本文仅作个人记录用,之前未接触过C++,也没有使用过clion和cmake,不喜勿喷. 首先下载clion,mingw并配置相关环境,安装cmake,这部分比较简单,没有遇到什么问题. 接下来新建一个 ...

  9. java线程间通信_java线程间通信:一个小Demo完全搞懂

    版权声明:本文出自汪磊的博客,转载请务必注明出处. Java线程系列文章只是自己知识的总结梳理,都是最基础的玩意,已经掌握熟练的可以绕过. 一.从一个小Demo说起 上篇我们聊到了Java多线程的同步 ...

最新文章

  1. 无法在指定计算机上定位,Win10电脑无法打开定位功能时启动GeolocationService服务提示找不到文件怎么办...
  2. 【0805作业】模拟多人爬山
  3. K8S集群搭建:虚拟机克隆
  4. vi和vim 的常用操作
  5. BOM函数之history对象
  6. 平衡——职场小说《监控》推荐
  7. java实现电子面单pdf生成_电子面单打印功能实现方法
  8. CDR服装设计-旗袍款式图
  9. 两百行代码实现王校长大战鸡你太美
  10. travis ci java_[转]Travis Ci的最接底气的中文使用教程
  11. android转发短信到邮箱,Android手机使用Tasker转发短信及来电
  12. 软件是怎么开发出来的?怎么进行软件开发流程详解
  13. volatile busy wating
  14. 爆文标题怎么写,分享四个吸睛标题的万能套路写法,新手速看!
  15. 小程序内部引导关注公众号实现方法
  16. 用户体验 | 深耕用户体验筑造银行竞争的护城河
  17. w7系统怎么开启打印机服务器,Win7如何开启打印机服务?
  18. DFT的简单介绍(上)
  19. 服务器进入安全系统,云服务器怎么进安全模式
  20. VRT系统常用命令总结

热门文章

  1. 前端 —— JavaScript 基础篇 22 -- 比较全的正则验证(注册页面的demo)
  2. linux中标麒麟u盘制作,中标麒麟桌面操作系统龙芯版系统安装盘(U盘)制作方法
  3. 重磅!元宇宙招聘会来袭,60多所高校学生参加...
  4. 解读乐鑫 AT 指令解析器,解锁你不知道的用法
  5. 读书笔记-深入理解Java虚拟机
  6. C++ 堆区,栈区,数据段,bss段,代码区(详解)
  7. 面试题-谈谈你对JVM的理解
  8. php pdo基础增删改查 postgresql的主键自增设置 time()
  9. 基于R语言的Copula变量相关性分析及应用
  10. head first java读书笔记