Слияние кода завершено, страница обновится автоматически
/*
Navicat MySQL Data Transfer
Source Server : mysql
Source Server Version : 50641
Source Host : localhost:3306
Source Database : lblog
Target Server Type : MYSQL
Target Server Version : 50641
File Encoding : 65001
Date: 2020-07-08 17:33:32
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `tb_black_ip`
-- ----------------------------
DROP TABLE IF EXISTS `tb_black_ip`;
CREATE TABLE `tb_black_ip` (
`black_id` int(11) NOT NULL AUTO_INCREMENT,
`black_vid` int(11) DEFAULT NULL,
`black_ip` varchar(100) DEFAULT NULL,
`city` varchar(100) DEFAULT NULL,
`browser_type` varchar(100) DEFAULT NULL,
`platform_type` varchar(100) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`black_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_black_ip
-- ----------------------------
INSERT INTO `tb_black_ip` VALUES ('11', '4', '127.0.0.1', '深圳', '360', 'mac', '2020-07-04 13:39:04');
INSERT INTO `tb_black_ip` VALUES ('15', '19', '127.0.0.5', '局域网', 'Chrome', 'Windows 7', '2020-07-04 13:58:37');
-- ----------------------------
-- Table structure for `tb_blog`
-- ----------------------------
DROP TABLE IF EXISTS `tb_blog`;
CREATE TABLE `tb_blog` (
`blog_id` int(11) NOT NULL AUTO_INCREMENT,
`blog_type_id` int(11) NOT NULL COMMENT '外表博客类型',
`bloger_id` int(11) NOT NULL COMMENT '外表博主信息',
`blog_title` varchar(100) NOT NULL,
`blog_introduction` varchar(255) DEFAULT NULL,
`key_word` varchar(255) DEFAULT NULL,
`blog_image` varchar(200) DEFAULT NULL,
`blog_content` text,
`click_num` int(11) DEFAULT NULL,
`comment_num` int(11) DEFAULT NULL,
`agree_num` int(11) DEFAULT NULL,
`is_top` int(2) DEFAULT NULL COMMENT '置顶',
`is_recommend` int(2) DEFAULT NULL COMMENT '博主推荐',
`status` int(2) DEFAULT NULL COMMENT '-1:草稿,1:正文,2:回收站',
`update_time` datetime DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`blog_id`),
KEY `fk_blog_blogtype` (`blog_type_id`),
KEY `fk_blog_profile` (`bloger_id`),
CONSTRAINT `fk_blog_blogtype` FOREIGN KEY (`blog_type_id`) REFERENCES `tb_blog_type` (`blog_type_id`),
CONSTRAINT `fk_blog_profile` FOREIGN KEY (`bloger_id`) REFERENCES `tb_bloger` (`bloger_id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_blog
-- ----------------------------
INSERT INTO `tb_blog` VALUES ('14', '1', '1', '本套系统所使用的一些技术(不完全列出)', '该篇博客将为大家介绍本套系统所使用的一些技术要点和各个功能模块,由于考虑到某些安全因素,有些细节并未完全列举。。', '整站开发;技术要点;个人网站', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571538399.jpg', '<blockquote><span style=\"font-weight: bold;\">整体技术介绍</span></blockquote><p>页面端:html / css / js / ajax</p><p>第三方库:<span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">jquery / bootstrap / echarts / summernote / highlight.pack / webuploader / layui...</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">服务端:Java</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">整体架构:SpringBoot2.0 、mybatis </span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">数据库:MySQL</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">项目开发工具:STS 、 navicat</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">服务器:Tomcat 8.0</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">项目管理工具:Maven </span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; font-weight: bold;\">登录模块:验证码 + 拦截器</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. 登录拦截器提供了登录验证,未通过验证,统统拦截在登录页面外。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">2. 验证码用的是kaptcha插件。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><span style=\"font-weight: bold;\">用户访问记录模块:监听器(Listener)</span> </span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. 获取用户的真实IP、地理位置、浏览器及操作系统等。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">2. 用户每天第一次登录将会被记录、一天内多次登录或清除cookie将不会被记录。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">3. 获取地理位置使用的是太平洋地址库的接口。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; font-weight: bold;\">防止恶意请求模块:SpringMVC自定义注解 + 拦截器(Interceptor)</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. 防止用户连续刷新页面。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">2. 在方法上添加注解表示:该方法在2秒内请求不能超过5次。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; font-weight: bold;\">操作日志模块:Spring AOP + springMVC自定义注解</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. 可以记录管理员的增删改查操作。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">2. 可以记录下用户具体的查询内容。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">3. 在方法上添加注解表示调用该方法将记录下来。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; font-weight: bold;\">黑名单模块:过滤器(Filter)</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. 在过滤器中进行IP拦截,如果该IP已进入黑名单,将无法正常浏览网站。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; font-weight: bold;\">图片上传模块:Web Uploader</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px;\">1. </span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">Web Uploader</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">支持分片、并发、预览、压缩、</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">HTML5 & FLASH</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">、</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">MD5</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">秒传、支持文件多选、类型过滤、拖拽</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">(</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">文件</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">&</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">文件夹</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">)</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">、图片粘贴功能。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">2. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">图片上传到服务器指定的磁盘文件夹下,没有存到项目中。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">3. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">当需要图片时,先去服务器下寻找图片,没有合适的再选择上传图片到服务器。避免每次都要进行图片上传。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">评论模块:(自定义方法,如有需要,可以尝试使用“畅言”)</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. 方法看源码。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">富文本模块:summernote</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. </span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">Summernote</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">轻量级、小巧,界面好看,能满足日常需要。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">2. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">通过整合</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">highlight.js</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">,修改默认</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">summernote</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">的代码可实现代码高亮功能。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">统计图表模块:eCharts</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">通过</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">eCharts</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">,可以很直观的看到近日网站的访问情况,博客的浏览</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">/</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">发表情况,以及用户前台的搜索量等等。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">数据展示模块:Bootstrap Table</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">实现查询、分页、排序、复选框、设置显示列、操作等。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">页面加载模块:Ajax异步</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">几乎页面的所有请求都采用异步操作完成。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p><blockquote><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px; font-weight: bold;\">页面预加载模块:fakeLoader</span></blockquote><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">1. </span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">在管理端使用了</span><span lang=\"EN-US\" style=\"cursor: url("/Blog/images/ani/a.cur"), auto; color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">fakeLoader</span><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\">进行预加载。</span></p><p><span style=\"color: rgb(51, 51, 51); font-family: Arial; font-size: 15px; text-indent: -28px;\"><br></span></p>', '18', '0', '0', '1', '1', '1', '2020-07-08 07:21:44', '2020-07-05 08:03:07');
INSERT INTO `tb_blog` VALUES ('15', '1', '1', '从零开发博客-项目大致介绍', '个人博客,相信大家随处可见。本教程主要是通过编写博客系统带大家熟悉一下项目的整个开发流程,并从中复习java的基础知识和MVC模式的开发', 'JAVA;基础;SpringBoot', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: 700;\">适合人群</span></blockquote><p>1. 有Java基础,了解Java Web的MVC开发模式</p><p>2. 有编程能力</p><p>3. 会认字</p><p><br></p><blockquote><span style=\"font-weight: bold;\">项目简介</span></blockquote><p>1. 项目用到的技术有:SpringBoot2.0框架、Mybatis、Ajax、html...</p><p>2. 项目主要分为两个部分,前端展示和后台管理</p><p><br></p><blockquote><span style=\"font-weight: bold;\">前端主要功能</span></blockquote><p>1. 前端首页展示,包括头条,点击排行榜,新发布的的文章...</p><p>2. 菜单栏、搜索栏</p><p>3. 文章阅读页面、评论</p><p><br></p><blockquote><span style=\"font-weight: bold;\">后台主要功能</span></blockquote><p>1. 数据统计(echart)</p><p>2. 操作日志查看</p><p>3. 博客模块(包括:博客管理、写博客、查询博客、博客类别)</p><p>4. 头条模块(增删改查)</p><p>5. 资源模块(增删改查)</p><p>6. 访客模块(拉黑ip)</p><p>7. 友情链接(增删改查)</p><p>8. 评论模块(删除)</p><p>9. 本地图库(上传、查看、删除)</p><p><br></p><blockquote><span style=\"font-weight: bold;\">前端展示和后台管理部分截图</span></blockquote><p><span style=\"font-weight: bold;\"><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070522420595374.JPG\" style=\"width: 996px;\"><br><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070522422247524.JPG\" style=\"width: 996px;\"><br></span></p><p></p><p><span style=\"font-weight: 700;\"><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070522425688899.JPG\" style=\"width: 996px;\"></span></p><p><span style=\"font-weight: 700;\"><br></span></p><p><span style=\"font-weight: bold; font-style: italic;\">结尾:</span>下一篇文章开始进入主题,加油!</p>', '21', '0', '0', '1', '1', '1', '2020-07-08 07:22:21', '2020-07-05 13:32:02');
INSERT INTO `tb_blog` VALUES ('16', '1', '1', '从零开发博客-第一章开发准备', '项目开发前准备,环境配置、IDE下载和设置、创建项目、测试配置...', 'JAVA;基础;SpringBoot;Spring Tool', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: bold;\">环境准备</span></blockquote><p>1. -JDK8(自行安装配置,百度一堆教程)</p><p>2. -Maven3.3.9(自行安装配置,百度一下呗,找不到的,楼下留言)</p><p>3. -Chrome(浏览器)</p><p>4. Spring Tool4(开发工具)</p><p><br></p><blockquote><span style=\"font-weight: bold;\">下载SpringBoot的开发工具</span></blockquote><p>1. 登陆<a href=\"https://spring.io\" target=\"_blank\">Spring官网</a>,下载SpringBoot的开发工具,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710131718842.png\" style=\"width: 605px;\">下载完成即可使用,和Eclipse是一模一样的</p><p>2. 下载完成后要查看Java和Maven的配置是否和当前下载的jdk版本和Maven版本一样</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710174254094.png\" style=\"width: 616px;\"><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710184930680.png\" style=\"width: 616px;\"><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710190122429.png\" style=\"width: 616px;\">3. 创建项目(File-New-Maven Project),如果软件提示创建超时什么的,可以直接上<a href=\"https://start.spring.io/\" target=\"_blank\">官网创建项目</a>,填入相关信息即可创建下载,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710245540795.png\" style=\"width: 616px;\">信息填写完成后,点击GENERATE下载解压即可,然后在STS导入Maven项目即可,等待就可以了,由网速决定,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710273946114.png\" style=\"width: 605px;\">4. 测试第一个程序,创建Hello.java,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710303487851.png\" style=\"width: 616px;\">直接运行(Java Application)BlogApplication.java程序,启动Tomcat</p><p>如果报错,请把pom的mybatis注销掉,暂时不使用(创建项目时,如果引入的话)</p><p>输入http://localhost:8080/hello</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710471225238.png\" style=\"width: 616px;\">Application.properties设置前缀,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710482677046.png\" style=\"width: 616px;\">输入http://localhost:8080/blog/hello<br></p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070710494247278.png\" style=\"width: 616px;\"><br></p><p>至此,项目的准备大致完成了,下一篇,跟着我来进行项目的设计和框架搭建,加油!</p><p><br></p>', '3', '0', '0', '-1', '-1', '1', '2020-07-07 03:39:12', '2020-07-07 02:51:39');
INSERT INTO `tb_blog` VALUES ('17', '1', '1', '从零开发博客-第二章项目设计(1)', '本章主要包括两个部分,一个部分是项目的大致轮廓设计,第二个部分是实体类和数据表的设计...', 'JAVA;基础;SpringBoot;MySQL', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: bold;\">系统功能模块划分</span></blockquote><p>1. 明确各模块职责</p><p>2. 了解各模块所涉及的对象</p><p><br></p><blockquote><span style=\"font-weight: bold;\">前端展示系统</span></blockquote><p>前端主要是展示各游客观看和浏览的,所以包括的的大致内容有头条、名片、文章类别、热门文章、点击排行展示,不一一举出。如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070711285878820.png\" style=\"width: 479px;\">前端页面的大致轮廓,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070711294858074.png\" style=\"width: 521px;\"><br></p><blockquote><span style=\"font-weight: bold;\">后端管理系统</span></blockquote><p>这一部分是整个系统的精华,所以功能也比较多,主要包括有日志管理、数据统计、博客管理、访客管理等等,不一一列出。如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070711315068272.png\" style=\"width: 496px;\">后端页面大致轮廓,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070711321872214.png\" style=\"width: 521px;\"><br></p><p>功能主要以最新代码为主,上面展示的只是部分功能。这一篇就到此了,下一篇让我们一起去讨论实体和数据表的设计吧,下一篇见!</p>', '3', '0', '0', '-1', '-1', '1', '2020-07-07 07:00:37', '2020-07-07 03:34:21');
INSERT INTO `tb_blog` VALUES ('18', '1', '1', '从零开发博客-第二章实体类设计与表创建(2)', '本章主要包括两个部分,一个部分是项目的大致轮廓设计,第二个部分是实体类和数据表的设计...', 'JAVA;基础;SpringBoot;MySQL', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: bold;\">实体类设计与表创建</span></blockquote><p>本系统暂时实体和类大致有10个(后面不够的可以自行按要求追加),分别是:</p><p>博客表(tb_blog)、</p><p>博客类型表(tb_blog_type)、</p><p>用户表(tb_bloger)、</p><p>黑名单表(tb_black_ip)、</p><p>头条表(tb_head_line)、</p><p>友情链接表(tb_link)、</p><p>日志表(tb_log)、</p><p>评论表(tb_ping)、</p><p>资源表(tb_resources)、</p><p>游客表(tb_visit)。</p><p>创建一个保存实体类的package,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070715162070112.png\" style=\"width: 548px;\"><br></p><blockquote><span style=\"font-weight: bold;\">实体类Bloger和tb_bloger创建</span></blockquote><p>实体类:Bloger.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span></span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">Bloger</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//id</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span></span> blogerId;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//姓名</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> String blogerName;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//性别</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span></span> gender;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//头像</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> String blogerImage;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//用户名</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> String userName;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//密码</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> String password;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//博主邮箱</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> String email;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">//用户类型</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span></span> hasPermission;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//...此处省略了getter和setter方法</span></span>\n}<br></pre><p>表tb_bloger创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CREATE</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">TABLE</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`tb_bloger`</span></span>(\n <span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_id`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">10</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span> AUTO_INCREMENT,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_name`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">20</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`gender`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_image`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">200</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`user_name`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">20</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`password`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">100</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`email`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">50</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`has_permission`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>),\n PRIMARY <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_id`</span></span>),\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">UNIQUE</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`uk_bloger_profile`</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`user_name`</span></span>),\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">UNIQUE</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`uk_bloger_bloname`</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_name`</span></span>)\n)<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">ENGINE</span></span>=<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">INNODB</span></span> AUTO_INCREMENT=<span class=\"hljs-number\"><span class=\"hljs-number\">1</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CHARSET</span></span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类BlogType和tb_blog_type创建</span></blockquote><p>实体类:BlogType.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.util.Date;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span><span class=\"hljs-class\"> </span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">BlogType</span></span></span><span class=\"hljs-class\"> </span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//id</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> blogTypeId;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博客类型名称</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String blogTypeName;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//该类别下文章的总数</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> blogTypeNum;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//创建时间</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> Date createTime;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//...此处省略getter和setter方法</span></span>\n}<br></pre><p>表tb_blog_type创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CREATE</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">TABLE</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`tb_blog_type`</span></span>(\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_id`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">10</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span> AUTO_INCREMENT,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_name`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">20</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_num`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'该类别下文章的总数\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`create_time`</span></span> datetime <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n PRIMARY <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_id`</span></span>)\n)<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">ENGINE</span></span>=<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">INNODB</span></span> AUTO_INCREMENT=<span class=\"hljs-number\"><span class=\"hljs-number\">1</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CHARSET</span></span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Blog和表tb_blog创建</span></blockquote><p>实体类:Blog.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.util.Date;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span><span class=\"hljs-class\"> </span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">Blog</span></span></span><span class=\"hljs-class\"> </span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//id</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> blogId;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博客标题</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String blogTitle;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博客简介/摘要</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String blogIntroduction;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//关键词</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String keyWord;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//封面缩略图</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String blogImage;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博客内容</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String blogContent;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//点击量</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> clickNum;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//评论量</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> commentNum;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//点赞量</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> agreeNum;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//置顶</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> isTop;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博主推荐</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> isRecommend;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//发表状态 -1:草稿 1:正文 2:回收站</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">int</span></span> status;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//更改时间</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> Date updateTime;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//创建时间</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> Date createTime;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博客类型</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> BlogType blogType;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//博主</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> Bloger bloger;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//查询条件</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String startTime;\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String endTime;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//...getter和setter方法</span></span>\n}<br></pre><p>表tb_blog创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CREATE</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">TABLE</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`tb_blog`</span></span>(\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_id`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span> AUTO_INCREMENT,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_id`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'外表博客类型\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_id`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'外表博主信息\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_title`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">100</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">NOT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_introduction`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">255</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`key_word`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">255</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_image`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">VARCHAR</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">200</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`blog_content`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">text</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`click_num`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`comment_num`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`agree_num`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">11</span></span>),\n <span class=\"hljs-string\"><span class=\"hljs-string\">`is_top`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'置顶\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`is_recommend`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'博主推荐\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`status`</span></span> <span class=\"hljs-built_in\"><span class=\"hljs-built_in\">int</span></span>(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">COMMENT</span></span><span class=\"hljs-string\"><span class=\"hljs-string\">\'-1:草稿,1:正文,2:回收站\'</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`update_time`</span></span> datetime <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n <span class=\"hljs-string\"><span class=\"hljs-string\">`create_time`</span></span> datetime <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-literal\"><span class=\"hljs-literal\">NULL</span></span>,\n PRIMARY <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`blog_id`</span></span>),\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CONSTRAINT</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`fk_blog_blogtype`</span></span> FOREIGN <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_id`</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">REFERENCES</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`tb_blog_type`</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`blog_type_id`</span></span>),\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CONSTRAINT</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`fk_blog_profile`</span></span> FOREIGN <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">KEY</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_id`</span></span>) <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">REFERENCES</span></span> <span class=\"hljs-string\"><span class=\"hljs-string\">`tb_bloger`</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">`bloger_id`</span></span>)\n)<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">ENGINE</span></span>=<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">INNODB</span></span> AUTO_INCREMENT=<span class=\"hljs-number\"><span class=\"hljs-number\">1</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">DEFAULT</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">CHARSET</span></span>=utf8;<br></pre><p><br></p><p>上面三个是博客主要的表,先创建,下一篇接着把剩下的所有表都创建了</p>', '2', '0', '0', '-1', '-1', '1', '2020-07-07 07:38:51', '2020-07-07 07:35:58');
INSERT INTO `tb_blog` VALUES ('19', '1', '1', '从零开发博客-第二章实体类设计与表创建(3)', '本章主要包括两个部分,一个部分是项目的大致轮廓设计,第二个部分是实体类和数据表的设计...', 'JAVA;基础;SpringBoot;MySQL', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<h4 id=\"nav1_1\">前面我们已经把Blog、BlogType、Bloger表创建了,接下来我们一口气把剩下的都给干掉。</h4><blockquote><span style=\"font-weight: bold;\">实体类Black和表tb_black_ip创建</span></blockquote><p>实体类:BlackIp.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">BlackIp</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> blackId;\n <span class=\"hljs-comment\">//浏览所属id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> blackVid;\n <span class=\"hljs-comment\">//ip地址</span>\n <span class=\"hljs-keyword\">private</span> String blackIp;\n <span class=\"hljs-comment\">//城市</span>\n <span class=\"hljs-keyword\">private</span> String city;\n <span class=\"hljs-comment\">//浏览器类型</span>\n <span class=\"hljs-keyword\">private</span> String browserType;\n <span class=\"hljs-comment\">//系统类型</span>\n <span class=\"hljs-keyword\">private</span> String platformType;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//查询</span>\n <span class=\"hljs-keyword\">private</span> String startTime;\n <span class=\"hljs-keyword\">private</span> String endTime;\n \n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_black_ip创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_black_ip`</span>(\n <span class=\"hljs-string\">`black_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`black_vid`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>),\n <span class=\"hljs-string\">`black_ip`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`city`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`browser_type`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`platform_type`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`black_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类HeadLine和表tb_head_line创建</span></blockquote><p>实体类:HeadLine.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">HeadLine</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> headLineId;\n <span class=\"hljs-comment\">//标题</span>\n <span class=\"hljs-keyword\">private</span> String headLineTitle;\n <span class=\"hljs-comment\">//链接</span>\n <span class=\"hljs-keyword\">private</span> String headLineLink;\n <span class=\"hljs-comment\">//图片</span>\n <span class=\"hljs-keyword\">private</span> String headLineImage;\n <span class=\"hljs-comment\">//权重</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> priority;\n <span class=\"hljs-comment\">//类型,1:轮播图 2:右边图</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> typeNum;\n <span class=\"hljs-comment\">//状态-1下架,1上架</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> status;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n <span class=\"hljs-comment\">//更新时间</span>\n <span class=\"hljs-keyword\">private</span> Date updateTime;\n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_head_line创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_head_line`</span>(\n <span class=\"hljs-string\">`head_line_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`head_line_title`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`head_line_link`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`head_line_image`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`priority`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>),\n <span class=\"hljs-string\">`type_num`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>),\n <span class=\"hljs-string\">`status`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>),\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`update_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">null</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`head_line_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=UTF8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Link和表tb_link创建</span></blockquote><p>实体类:Link.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">Link</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> linkId;\n <span class=\"hljs-comment\">//链接地址</span>\n <span class=\"hljs-keyword\">private</span> String linkLink;\n <span class=\"hljs-comment\">//名称</span>\n <span class=\"hljs-keyword\">private</span> String linkName;\n <span class=\"hljs-comment\">//点击量</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> clickNum;\n <span class=\"hljs-comment\">//排序顺序</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> sort;\n <span class=\"hljs-comment\">//状态 1:上架 -1:下架</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> status;\n <span class=\"hljs-comment\">//申请审核</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> isApply;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_link创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_link`</span>(\n <span class=\"hljs-string\">`link_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`link_link`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`link_name`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`click_num`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>),\n <span class=\"hljs-string\">`sort`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">COMMENT</span><span class=\"hljs-string\">\'排序\'</span>,\n <span class=\"hljs-string\">`status`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>) <span class=\"hljs-keyword\">COMMENT</span><span class=\"hljs-string\">\'1:上架,-1:下架\'</span>,\n <span class=\"hljs-string\">`is_apply`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>) <span class=\"hljs-keyword\">COMMENT</span><span class=\"hljs-string\">\'申请审核\'</span>,\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`link_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Log和表tb_log创建</span></blockquote><p>实体类:Log.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">Log</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> logId;\n <span class=\"hljs-comment\">//用户类型,分为普通用户和管理员</span>\n <span class=\"hljs-keyword\">private</span> String logUserType;\n <span class=\"hljs-comment\">//ip地址</span>\n <span class=\"hljs-keyword\">private</span> String logIp;\n <span class=\"hljs-comment\">//操作描述</span>\n <span class=\"hljs-keyword\">private</span> String logDescription;\n <span class=\"hljs-comment\">//操作参数</span>\n <span class=\"hljs-keyword\">private</span> String logParam;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//查询范围</span>\n <span class=\"hljs-keyword\">private</span> String startTime;\n <span class=\"hljs-keyword\">private</span> String endTime;\n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_log创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_log`</span>(\n <span class=\"hljs-string\">`log_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`log_user_type`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">20</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`log_ip`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">20</span>),\n <span class=\"hljs-string\">`log_description`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">255</span>),\n <span class=\"hljs-string\">`log_param`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">255</span>),\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`log_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Ping和表tb_ping创建</span></blockquote><p>实体类:Ping.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">Ping</span> </span>{\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> pingId;\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> blogId;\n <span class=\"hljs-keyword\">private</span> String pingName;\n <span class=\"hljs-keyword\">private</span> String pingContext;\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> type;<span class=\"hljs-comment\">//区别是1评论还是2留言</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//查询条件</span>\n <span class=\"hljs-keyword\">private</span> String startTime;\n <span class=\"hljs-keyword\">private</span> String endTime;\n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_ping创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_ping`</span>(\n <span class=\"hljs-string\">`ping_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`blog_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>),\n <span class=\"hljs-string\">`ping_name`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">20</span>),\n <span class=\"hljs-string\">`ping_context`</span> <span class=\"hljs-built_in\">text</span> <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`type`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`ping_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Resources和表tb_resources创建</span></blockquote><p>实体类:Resources.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">Resources</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> resourcesId;\n <span class=\"hljs-comment\">//标题</span>\n <span class=\"hljs-keyword\">private</span> String resourcesTitle;\n <span class=\"hljs-comment\">//内容</span>\n <span class=\"hljs-keyword\">private</span> String resourcesContent;\n <span class=\"hljs-comment\">//链接(用的是百度云)</span>\n <span class=\"hljs-keyword\">private</span> String resourcesLink;\n <span class=\"hljs-comment\">//对应的密码</span>\n <span class=\"hljs-keyword\">private</span> String password;\n <span class=\"hljs-comment\">//审核</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> status;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_resources创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_resources`</span>(\n <span class=\"hljs-string\">`resources_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`resources_title`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`resources_content`</span> <span class=\"hljs-built_in\">text</span> <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span>,\n <span class=\"hljs-string\">`resources_link`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`password`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">20</span>),\n <span class=\"hljs-string\">`status`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">2</span>),\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`resources_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">实体类Visit和表tb_visit创建</span></blockquote><p>实体类:Visit.java</p><pre class=\"hljs java\"><span class=\"hljs-keyword\">package</span> com.leo.blog.entity;\n\n<span class=\"hljs-keyword\">import</span> java.util.Date;\n\n<span class=\"hljs-keyword\">public</span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title\">Visit</span> </span>{\n <span class=\"hljs-comment\">//id</span>\n <span class=\"hljs-keyword\">private</span> <span class=\"hljs-keyword\">int</span> visitId;\n <span class=\"hljs-comment\">//ip地址</span>\n <span class=\"hljs-keyword\">private</span> String visitIp;\n <span class=\"hljs-comment\">//用户代理</span>\n <span class=\"hljs-keyword\">private</span> String userAgent;\n <span class=\"hljs-comment\">//城市</span>\n <span class=\"hljs-keyword\">private</span> String city;\n <span class=\"hljs-comment\">//地址</span>\n <span class=\"hljs-keyword\">private</span> String url;\n <span class=\"hljs-comment\">//浏览器类型</span>\n <span class=\"hljs-keyword\">private</span> String browserType;\n <span class=\"hljs-comment\">//系统类型</span>\n <span class=\"hljs-keyword\">private</span> String platformType;\n <span class=\"hljs-comment\">//创建时间</span>\n <span class=\"hljs-keyword\">private</span> Date createTime;\n \n <span class=\"hljs-comment\">//查询条件</span>\n <span class=\"hljs-keyword\">private</span> String startTime;\n <span class=\"hljs-keyword\">private</span> String endTime;\n <span class=\"hljs-keyword\">private</span> String format;\n \n <span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span> <span class=\"hljs-title\">Visit</span><span class=\"hljs-params\">()</span></span>{} \n \n <span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span> <span class=\"hljs-title\">Visit</span><span class=\"hljs-params\">(String browserType, String platformType)</span></span>{ \n <span class=\"hljs-keyword\">this</span>.browserType = browserType; \n <span class=\"hljs-keyword\">this</span>.platformType = platformType; \n } \n \n <span class=\"hljs-comment\">//...getter和setter方法</span>\n}<br></pre><p>表tb_visit创建</p><pre class=\"hljs sql\"><span class=\"hljs-keyword\">CREATE</span> <span class=\"hljs-keyword\">TABLE</span> <span class=\"hljs-string\">`tb_visit`</span>(\n <span class=\"hljs-string\">`visit_id`</span> <span class=\"hljs-built_in\">int</span>(<span class=\"hljs-number\">11</span>) <span class=\"hljs-keyword\">NOT</span> <span class=\"hljs-literal\">NULL</span> AUTO_INCREMENT,\n <span class=\"hljs-string\">`visit_ip`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`user_agent`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">200</span>),\n <span class=\"hljs-string\">`city`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`url`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`browser_type`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`platform_type`</span> <span class=\"hljs-built_in\">VARCHAR</span>(<span class=\"hljs-number\">100</span>),\n <span class=\"hljs-string\">`create_time`</span> datetime <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-literal\">NULL</span>,\n PRIMARY <span class=\"hljs-keyword\">KEY</span>(<span class=\"hljs-string\">`visit_id`</span>)\n)<span class=\"hljs-keyword\">ENGINE</span>=<span class=\"hljs-keyword\">INNODB</span> AUTO_INCREMENT=<span class=\"hljs-number\">1</span> <span class=\"hljs-keyword\">DEFAULT</span> <span class=\"hljs-keyword\">CHARSET</span>=utf8;<br></pre><p><br></p><p>呼~终于创建完所有的表了,本篇在此结束,下一篇我们接着搞,配置框架,下期见!</p>', '2', '0', '0', '-1', '-1', '1', '2020-07-07 08:26:36', '2020-07-07 08:00:17');
INSERT INTO `tb_blog` VALUES ('20', '1', '1', '从零开发博客-第三章框架的配置和搭建(1)', '前面几篇文章已经把项目所需要的实体和表都创建好了,接下来我们一步步得先把框架给配置好,然后再测试框架是否能成功运行...', 'JAVA;基础;SpringBoot', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: bold;\"> 创建好相关文件</span></blockquote><p>首先我们先创建文件mapper,以保存与dao层相对应的xml(这里不解释,不会的可以先去复习一下Mybatis),如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070716141594605.JPG\" style=\"width: 301px;\"></p><p>接着Webapp下创建resources文件夹,以存放js文件、图片文件、css文件等资源。为了安全起见,我们需要把网页.jsp或者.html的文件放在WEB-INF里的html文件夹下,如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070716173746191.JPG\" style=\"width: 281px;\">然后,我们接着创建几个package包(这里无视也可以,可后期创),如图:</p><p><img src=\"http://localhost:8080/blog/blogprojectdev/image/upload/images/item/blog/1/2020070716194744845.png\" style=\"width: 267px;\"></p><p><br></p><blockquote><span style=\"font-weight: bold;\">引入相应的jar包</span></blockquote><p>pom.xml</p><pre class=\"hljs xml\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><?</span></span></span><span class=\"php\">xml version=</span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"1.0\"</span></span></span><span class=\"php\"> encoding=</span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"UTF-8\"</span></span></span><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\">?></span></span></span></span>\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">project</span></span></span><span class=\"hljs-tag\"> </span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">xmlns</span></span></span><span class=\"hljs-tag\">=</span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"http://maven.apache.org/POM/4.0.0\"</span></span></span><span class=\"hljs-tag\"> </span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">xmlns:xsi</span></span></span><span class=\"hljs-tag\">=</span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"http://www.w3.org/2001/XMLSchema-instance\"</span></span></span><span class=\"hljs-tag\">\n </span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">xsi:schemaLocation</span></span></span><span class=\"hljs-tag\">=</span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd\"</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">modelVersion</span></span></span><span class=\"hljs-tag\">></span></span>4.0.0<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">modelVersion</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">parent</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-starter-parent<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>2.3.0.RELEASE<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">relativePath</span></span></span><span class=\"hljs-tag\">/></span></span> <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- lookup parent from repository --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">parent</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>com.leo<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>blog<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>0.0.1-SNAPSHOT<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">packaging</span></span></span><span class=\"hljs-tag\">></span></span>war<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">packaging</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">name</span></span></span><span class=\"hljs-tag\">></span></span>blog<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">name</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">description</span></span></span><span class=\"hljs-tag\">></span></span>Demo project for Spring Boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">description</span></span></span><span class=\"hljs-tag\">></span></span>\n\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">properties</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">java.version</span></span></span><span class=\"hljs-tag\">></span></span>1.8<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">java.version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">properties</span></span></span><span class=\"hljs-tag\">></span></span>\n\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependencies</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-starter-web<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.mybatis.spring.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>mybatis-spring-boot-starter<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>2.1.3<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-starter-tomcat<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">scope</span></span></span><span class=\"hljs-tag\">></span></span>provided<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">scope</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-starter-test<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">scope</span></span></span><span class=\"hljs-tag\">></span></span>test<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">scope</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">exclusions</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">exclusion</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.junit.vintage<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>junit-vintage-engine<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">exclusion</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">exclusions</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!--Spring AOP 切面 模块 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-aop<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- SpringBoot 拦截器 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-starter-aop<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.aspectj<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>aspectjweaver<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span> \n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 日志 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>ch.qos.logback<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>logback-classic<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span> \n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- Servlet web --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>javax.servlet<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>javax.servlet-api<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span> \n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- json解析 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>com.fasterxml.jackson.core<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>jackson-databind<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- Map工具类 对标准java Collection的扩展 spring-core.jar需commons-collections.jar --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>commons-collections<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>commons-collections<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>3.2.2<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 数据库 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>mysql<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>mysql-connector-java<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>com.mchange<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>c3p0<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>0.9.5.4<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 图片处理 --></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>net.coobird<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>thumbnailator<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>0.4.8<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>com.github.penggle<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>kaptcha<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>2.3.2<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>commons-fileupload<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>commons-fileupload<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>1.3.2<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- shiro --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.apache.shiro<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>shiro-core<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>1.5.3<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.apache.shiro<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>shiro-spring<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>1.5.3<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.apache.shiro<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>shiro-ehcache<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>1.5.3<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">version</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- redis客户端:Jedis --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>redis.clients<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>jedis<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependency</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">dependencies</span></span></span><span class=\"hljs-tag\">></span></span>\n\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">build</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">plugins</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">plugin</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>org.springframework.boot<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">groupId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>spring-boot-maven-plugin<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">artifactId</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">plugin</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">plugins</span></span></span><span class=\"hljs-tag\">></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">build</span></span></span><span class=\"hljs-tag\">></span></span>\n\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">project</span></span></span><span class=\"hljs-tag\">></span></span></pre><p><br></p><p>这期先在这,下期接着搞...</p><p></p>', '2', '0', '0', '-1', '-1', '1', '2020-07-08 06:38:48', '2020-07-07 08:23:23');
INSERT INTO `tb_blog` VALUES ('21', '1', '1', '从零开发博客-第三章框架的配置和搭建dao层配置(2)', '前面几篇文章已经把项目所需要的实体和表都创建好了,接下来我们一步步得先把框架给配置好,然后再测试框架是否能成功运行...', 'JAVA;基础;SpringBoot', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521023624202.jpg', '<blockquote><span style=\"font-weight: bold;\">逐层完成各项配置</span></blockquote><p>1. 在aplication.properties加入数据库驱动的参数,其中帐号密码经过SHA加密,加密工具源码如下:</p><p>-加密源码 DESUtil.java</p><pre class=\"hljs aspectj\" style=\"line-height: 1.42857;\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.util;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.security.Key;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.security.SecureRandom;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> javax.crypto.Cipher;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> javax.crypto.KeyGenerator;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> sun.misc.BASE64Decoder;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> sun.misc.BASE64Encoder;\n\n<span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@author</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> Leo\n *\n */</span></span></span>\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">DESUtil</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> Key key;\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 设置密钥key</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> String KEY_STR = <span class=\"hljs-string\"><span class=\"hljs-string\">\"myKey\"</span></span>;\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> String CHARSETNAME = <span class=\"hljs-string\"><span class=\"hljs-string\">\"UTF-8\"</span></span>;\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> String ALGORITHM = <span class=\"hljs-string\"><span class=\"hljs-string\">\"DES\"</span></span>;\n\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> {\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">try</span></span> {\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 生成DES算法对象</span></span>\n KeyGenerator generator = KeyGenerator.getInstance(ALGORITHM);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 运用SHA1安全策略</span></span>\n SecureRandom secureRandom = SecureRandom.getInstance(<span class=\"hljs-string\"><span class=\"hljs-string\">\"SHA1PRNG\"</span></span>);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 设置上密钥种子</span></span>\n secureRandom.setSeed(KEY_STR.getBytes());\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 初始化基于SHA1的算法对象</span></span>\n generator.init(secureRandom);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 生成密钥对象</span></span>\n key = generator.generateKey();\n generator = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">null</span></span>;\n } <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">catch</span></span> (Exception e) {\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">throw</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> RuntimeException(e);\n }\n }\n\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 获取加密后的信息\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@param</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> str\n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@return</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">\n */</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> <span class=\"hljs-function\"><span class=\"hljs-function\"><span class=\"hljs-function\">String </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">getEncryptString</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(String str)</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 基于BASE64编码,接收byte[]并转换成String</span></span>\n BASE64Encoder base64encoder = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> BASE64Encoder();\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">try</span></span> {\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 按UTF8编码</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">byte</span></span>[] bytes = str.getBytes(CHARSETNAME);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 获取加密对象</span></span>\n Cipher cipher = Cipher.getInstance(ALGORITHM);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 初始化密码信息</span></span>\n cipher.init(Cipher.ENCRYPT_MODE, key);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 加密</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">byte</span></span>[] doFinal = cipher.doFinal(bytes);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// byte[]to encode好的String并返回</span></span>\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">return</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> base64encoder.</span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">encode</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(doFinal)</span></span></span></span></span></span>;\n } <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">catch</span></span> (Exception e) {\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">// </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">TODO:</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> handle exception</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">throw</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> RuntimeException(e);\n }\n }\n\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 获取解密之后的信息\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@param</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> str\n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@return</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">\n */</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> <span class=\"hljs-function\"><span class=\"hljs-function\"><span class=\"hljs-function\">String </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">getDecryptString</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(String str)</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 基于BASE64编码,接收byte[]并转换成String</span></span>\n BASE64Decoder base64decoder = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> BASE64Decoder();\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">try</span></span> {\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 将字符串decode成byte[]</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">byte</span></span>[] bytes = base64decoder.decodeBuffer(str);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 获取解密对象</span></span>\n Cipher cipher = Cipher.getInstance(ALGORITHM);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 初始化解密信息</span></span>\n cipher.init(Cipher.DECRYPT_MODE, key);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 解密</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">byte</span></span>[] doFinal = cipher.doFinal(bytes);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">// 返回解密之后的信息</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">return</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> String(doFinal, CHARSETNAME);\n } <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">catch</span></span> (Exception e) {\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">// </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">TODO:</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> handle exception</span></span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">throw</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> RuntimeException(e);\n }\n }\n\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">main</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(String[] args)</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n System.out.println(getEncryptString(<span class=\"hljs-string\"><span class=\"hljs-string\">\"root\"</span></span>));\n System.out.println(getEncryptString(<span class=\"hljs-string\"><span class=\"hljs-string\">\"root\"</span></span>));\n }\n\n}<br></pre><p>aplication.properties添加参数<br></p><pre class=\"hljs shell\" style=\"line-height: 1.42857;\">server.port=8080\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">输入blog的前缀</span></span>\nserver.servlet.context-path=/blog\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">\n#</span></span><span class=\"bash\"><span class=\"bash\">DataSource</span></span>\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">数据库驱动</span></span>\njdbc.driver=com.mysql.cj.jdbc.Driver\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">数据库链接</span></span>\njdbc.url=jdbc:mysql://localhost:3306/lblog?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">数据库用户名(已加密)</span></span>\njdbc.username=WnplV/ietfQ=\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">数据库密码(已加密)</span></span>\njdbc.password=WnplV/ietfQ=\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">#</span></span><span class=\"bash\"><span class=\"bash\">显示mysql语句</span></span>\nlogging.level.com.leo.blog.dao=debug\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">\n#</span></span><span class=\"bash\"><span class=\"bash\">Mybatis</span></span>\nmybatis_config_file=mybatis-config.xml\nmapper_path=/mapper/**.xml\ntype_alias_package=com.leo.blog.entity<br></pre><p><br></p><blockquote><span style=\"font-weight: bold;\">相关配置</span></blockquote><p>数据库相关配置,SpringBoot是去xml化的,所以改用class</p><p>创建package:com/leo/blog/config/dao</p><p>在其下创建DataSourceConfiguration.java(其实就是对应spring-dao.xml)的bean</p><pre class=\"hljs java\" style=\"line-height: 1.42857;\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.config.dao;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.beans.PropertyVetoException;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.mybatis.spring.annotation.MapperScan;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.beans.factory.annotation.Value;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.context.annotation.Bean;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.context.annotation.Configuration;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> com.leo.blog.util.DESUtil;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> com.mchange.v2.c3p0.ComboPooledDataSource;\n\n<span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 配置datasource到ioc容器里面\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@author</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> Leo\n *\n */</span></span></span>\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">@Configuration</span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">//该标签说明是配置类,可以调用application.properties里的参数</span></span>\n<span class=\"hljs-comment\"><span class=\"hljs-comment\">//配置mybatis mapper的扫描路径</span></span>\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">@MapperScan</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"com.leo.blog.dao\"</span></span>)<span class=\"hljs-comment\"><span class=\"hljs-comment\">//这里对应的是xml下的动态实现Dao接口,注入到spring容器中</span></span>\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">DataSourceConfiguration</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${jdbc.driver}\"</span></span>)<span class=\"hljs-comment\"><span class=\"hljs-comment\">//赋值,相当于setter</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String jdbcDriver;\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${jdbc.url}\"</span></span>)\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String jdbcUrl;\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${jdbc.username}\"</span></span>)\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String jdbcUsername;\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${jdbc.password}\"</span></span>)\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String jdbcPassword;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 生成与spring-dao.xml对应的bean dataSource\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@return</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">\n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@throws</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> PropertyVetoException\n */</span></span></span>\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Bean</span></span>(name=<span class=\"hljs-string\"><span class=\"hljs-string\">\"dataSource\"</span></span>)\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> ComboPooledDataSource </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">createDataSource</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">()</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">throws</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> PropertyVetoException </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//生成datasource实例</span></span>\n ComboPooledDataSource dataSource = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> ComboPooledDataSource();\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//跟配置文件一样设置一下信息</span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//驱动</span></span>\n dataSource.setDriverClass(jdbcDriver);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//数据库联接URL</span></span>\n dataSource.setJdbcUrl(jdbcUrl);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//设置用户名(已解密)</span></span>\n dataSource.setUser(DESUtil.getDecryptString(jdbcUsername));\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//设置用户密码</span></span>\n dataSource.setPassword(DESUtil.getDecryptString(jdbcPassword));\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//配置c3p0连接池的私有属性</span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//连接池最大线程数</span></span>\n dataSource.setMaxPoolSize(<span class=\"hljs-number\"><span class=\"hljs-number\">30</span></span>);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//连接池最小线程数</span></span>\n dataSource.setMinPoolSize(<span class=\"hljs-number\"><span class=\"hljs-number\">10</span></span>);\n dataSource.setInitialPoolSize(<span class=\"hljs-number\"><span class=\"hljs-number\">10</span></span>);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//关闭连接后部自动commit</span></span>\n dataSource.setAutoCommitOnClose(<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">false</span></span>);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//连接超时时间</span></span>\n dataSource.setCheckoutTimeout(<span class=\"hljs-number\"><span class=\"hljs-number\">10000</span></span>);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//连接失败重试次数</span></span>\n dataSource.setAcquireRetryAttempts(<span class=\"hljs-number\"><span class=\"hljs-number\">2</span></span>);\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">return</span></span> dataSource;\n }\n}<br></pre><p>接着在src/main/resources下创建mybatis-config.xml配置相关标准,如下:</p><pre class=\"hljs xml\" style=\"line-height: 1.42857;\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><?</span></span></span></span></span><span class=\"php\"><span class=\"php\">xml version=</span></span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"1.0\"</span></span></span></span></span><span class=\"php\"><span class=\"php\"> encoding=</span></span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"UTF-8\"</span></span></span></span></span><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\">?></span></span></span></span></span></span>\n<span class=\"hljs-meta\"><span class=\"hljs-meta\"><!DOCTYPE configuration\n PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\"\n \"http://mybatis.org/dtd/mybatis-3-config.dtd\"></span></span>\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">configuration</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 配置全局属性 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">settings</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">setting</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">name</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"useGeneratedKeys\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">value</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"true\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> /></span></span></span>\n\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 使用列标签替换列别名 默认:true \n 列标签是指数据库对应的字段名, 列别名是查询语句的对应的名字\n --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">setting</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">name</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"useColumnLabel\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">value</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"true\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> /></span></span></span>\n\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} --></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">setting</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">name</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"mapUnderscoreToCamelCase\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">value</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"true\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> /></span></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">settings</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">configuration</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span><br></pre><p>接着在../config/dao下创建SessionFactoryConfiguration.java,如下:</p><pre class=\"hljs java\" style=\"line-height: 1.42857;\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.config.dao;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.io.IOException;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> javax.sql.DataSource;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.mybatis.spring.SqlSessionFactoryBean;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.beans.factory.annotation.Autowired;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.beans.factory.annotation.Value;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.context.annotation.Bean;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.context.annotation.Configuration;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.core.io.ClassPathResource;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.core.io.support.PathMatchingResourcePatternResolver;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.core.io.support.ResourcePatternResolver;\n\n\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">@Configuration</span></span>\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">SessionFactoryConfiguration</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//mybatis-config.xml配置文件的路径</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> String mybatisConfigFile;\n \n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${mybatis_config_file}\"</span></span>)\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">setMybatisConfigFile</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(String mybatisConfigFile)</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n SessionFactoryConfiguration.mybatisConfigFile = mybatisConfigFile;\n }\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//mybatis mapper文件所在路径</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> String mapperPath;\n\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${mapper_path}\"</span></span>)\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">setMapperPath</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">(String mapperPath)</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n SessionFactoryConfiguration.mapperPath = mapperPath;\n }\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//实体类所在的package</span></span>\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Value</span></span>(<span class=\"hljs-string\"><span class=\"hljs-string\">\"${type_alias_package}\"</span></span>)\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> String typeAliasPackage;\n \n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Autowired</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> DataSource dataSource;\n \n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 创建sqlSessionFactoryBean 实例 \n * 并且设置configtion \n * 设置mapper 映射路径 \n * 设置datasource数据源\n * \n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@return</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">\n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@throws</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\"> IOException\n */</span></span></span>\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Bean</span></span>(name = <span class=\"hljs-string\"><span class=\"hljs-string\">\"sqlSessionFactory\"</span></span>)\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> SqlSessionFactoryBean </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">createSqlSessionFactoryBean</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">()</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">throws</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> IOException </span></span></span>{\n SqlSessionFactoryBean sqlSessionFactoryBean = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> SqlSessionFactoryBean();\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//设置mybatis configuration扫描路径</span></span>\n sqlSessionFactoryBean.setConfigLocation(<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> ClassPathResource(mybatisConfigFile));\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//添加mapper 扫描路径</span></span>\n PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver = <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">new</span></span> PathMatchingResourcePatternResolver();\n String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + mapperPath;<span class=\"hljs-comment\"><span class=\"hljs-comment\">//相当于classpath:+mapperPath</span></span>\n sqlSessionFactoryBean.setMapperLocations(pathMatchingResourcePatternResolver.getResources(packageSearchPath));\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//设置dataSource</span></span>\n sqlSessionFactoryBean.setDataSource(dataSource);\n <span class=\"hljs-comment\"><span class=\"hljs-comment\">//设置typeAlias包扫描路径</span></span>\n sqlSessionFactoryBean.setTypeAliasesPackage(typeAliasPackage);\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">return</span></span> sqlSessionFactoryBean; \n }\n}</pre><p>为此,dao层的配置完成了,下面我们就可以进行相应的测试了,来测试我们的配置是否有问题。</p><p>编写dao和mapper,然后作单元测试(这里提议一下,在开发的时候最好用debug模式运行,因为这样可以随时进行数据观测)。提示:如果该步测试时,报The server time zone错误,请在数据库的连接url上加上<span style=\"font-family: Calibri; color: rgb(0, 0, 255); font-size: 10.5pt;\">serverTimezone=UTC,即</span><span style=\"font-family: Calibri; font-size: 10.5pt;\">jdbc.url=jdbc:mysql://localhost:3306/o2o?</span><span style=\"font-family: Calibri; color: rgb(0, 0, 255); font-size: 10.5pt;\">serverTimezone=UTC...</span></p><p>下面我们以博客类型来测试,编写BlogTypeDao.java<span style=\"font-family: Calibri; color: rgb(0, 0, 255); font-size: 10.5pt;\"><br></span></p><pre class=\"hljs java\" style=\"line-height: 1.42857;\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.dao;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.util.List;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> com.leo.blog.entity.BlogType;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">interface</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">BlogTypeDao</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n <span class=\"hljs-comment\"><span class=\"hljs-comment\"><span class=\"hljs-comment\">/**\n * 查询博客类型列表\n * </span></span><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\"><span class=\"hljs-comment\"><span class=\"hljs-doctag\">@return</span></span></span></span></span><span class=\"hljs-comment\"><span class=\"hljs-comment\">\n */</span></span></span>\n <span class=\"hljs-function\"><span class=\"hljs-function\"><span class=\"hljs-function\">List<BlogType> </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">queryBlogTypeList</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">()</span></span></span></span></span></span>;\n}<br></pre><p>在src/main/resources下的mapper文件下创建BlogTypeDao.xml</p><pre class=\"hljs xml\" style=\"line-height: 1.42857;\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><?</span></span></span></span></span><span class=\"php\"><span class=\"php\">xml version=</span></span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"1.0\"</span></span></span></span></span><span class=\"php\"><span class=\"php\"> encoding=</span></span><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\"><span class=\"php\"><span class=\"hljs-string\">\"UTF-8\"</span></span></span></span></span><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\"><span class=\"php\"><span class=\"hljs-meta\">?></span></span></span></span></span></span>\n<span class=\"hljs-meta\"><span class=\"hljs-meta\"><!DOCTYPE mapper\n PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\"></span></span>\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">mapper</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">namespace</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"com.leo.blog.dao.BlogTypeDao\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"><</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">select</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">id</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"queryBlogTypeList\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\"> </span></span><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\"><span class=\"hljs-tag\"><span class=\"hljs-attr\">resultType</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">=</span></span><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\"><span class=\"hljs-tag\"><span class=\"hljs-string\">\"com.leo.blog.entity.BlogType\"</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n SELECT blog_type_id, blog_type_name, blog_type_num, create_time\n FROM tb_blog_type\n ORDER BY blog_type_num DESC\n <span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">select</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span>\n<span class=\"hljs-tag\"><span class=\"hljs-tag\"><span class=\"hljs-tag\"></</span></span><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\"><span class=\"hljs-tag\"><span class=\"hljs-name\">mapper</span></span></span></span></span><span class=\"hljs-tag\"><span class=\"hljs-tag\">></span></span></span><br></pre><p>在src/test/java下创建package:com.leo.blog.dao,然后创建测试类:BlogTypeDaoTest.java</p><pre class=\"hljs java\" style=\"line-height: 1.42857;\"><span class=\"hljs-keyword\"><span class=\"hljs-keyword\">package</span></span> com.leo.blog.dao;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">static</span></span> org.junit.jupiter.api.Assertions.assertEquals;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.util.Date;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> java.util.List;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.junit.jupiter.api.Test;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.beans.factory.annotation.Autowired;\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> org.springframework.boot.test.context.SpringBootTest;\n\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">import</span></span> com.leo.blog.entity.BlogType;\n\n<span class=\"hljs-meta\"><span class=\"hljs-meta\">@SpringBootTest</span></span>\n<span class=\"hljs-keyword\"><span class=\"hljs-keyword\">public</span></span> <span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\"><span class=\"hljs-class\"><span class=\"hljs-keyword\">class</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\"><span class=\"hljs-class\"><span class=\"hljs-title\">BlogTypeDaoTest</span></span></span></span></span><span class=\"hljs-class\"><span class=\"hljs-class\"> </span></span></span>{\n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Autowired</span></span>\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">private</span></span> BlogTypeDao blogTypeDao;\n \n <span class=\"hljs-meta\"><span class=\"hljs-meta\">@Test</span></span>\n <span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">public</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\"><span class=\"hljs-function\"><span class=\"hljs-title\">testQueryBlogTypeList</span></span></span></span></span><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\"><span class=\"hljs-function\"><span class=\"hljs-params\">()</span></span></span></span></span><span class=\"hljs-function\"><span class=\"hljs-function\"> </span></span></span>{\n List<BlogType> list = blogTypeDao.queryBlogTypeList();\n assertEquals(<span class=\"hljs-number\"><span class=\"hljs-number\">6</span></span>, list.size());\n <span class=\"hljs-keyword\"><span class=\"hljs-keyword\">for</span></span>(BlogType typeName : list) {\n System.out.println(typeName.getBlogTypeName());\n }\n }\n}<br></pre><p>右键运行-Junit Test,测试通过,证明配置没问题。</p><p><br></p><p>这篇先到这,好好消化一下,下一篇我们接着配置service层。</p>', '2', '0', '0', '-1', '-1', '1', '2020-07-08 07:22:36', '2020-07-08 07:20:37');
-- ----------------------------
-- Table structure for `tb_bloger`
-- ----------------------------
DROP TABLE IF EXISTS `tb_bloger`;
CREATE TABLE `tb_bloger` (
`bloger_id` int(10) NOT NULL AUTO_INCREMENT,
`bloger_name` varchar(20) NOT NULL,
`gender` int(2) NOT NULL,
`bloger_image` varchar(200) NOT NULL,
`user_name` varchar(20) NOT NULL,
`password` varchar(100) NOT NULL,
`email` varchar(50) NOT NULL,
`has_permission` int(2) DEFAULT NULL,
PRIMARY KEY (`bloger_id`),
UNIQUE KEY `uk_bloger_profile` (`user_name`),
UNIQUE KEY `uk_bloger_bloname` (`bloger_name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_bloger
-- ----------------------------
INSERT INTO `tb_bloger` VALUES ('1', 'Leo', '1', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070521031899459.jpg', 'admin', 'f6fdffe48c908deb0f4c3bd36c032e72', 'tanglinyao_web@163.com', '1');
INSERT INTO `tb_bloger` VALUES ('2', '游客', '2', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070619330271949.jpg', '123', '4297f44b13955235245b2497399d7a93', 'vvv', '2');
-- ----------------------------
-- Table structure for `tb_blog_type`
-- ----------------------------
DROP TABLE IF EXISTS `tb_blog_type`;
CREATE TABLE `tb_blog_type` (
`blog_type_id` int(10) NOT NULL AUTO_INCREMENT,
`blog_type_name` varchar(20) NOT NULL,
`blog_type_num` int(11) DEFAULT NULL COMMENT '数量',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`blog_type_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_blog_type
-- ----------------------------
INSERT INTO `tb_blog_type` VALUES ('1', 'Java', '8', '2020-06-09 10:16:21');
INSERT INTO `tb_blog_type` VALUES ('2', 'SpringBoot', '0', '2020-06-09 10:16:38');
INSERT INTO `tb_blog_type` VALUES ('3', '数据库', '0', '2020-06-09 10:17:05');
INSERT INTO `tb_blog_type` VALUES ('4', '面试分享', '0', '2020-06-09 10:17:32');
INSERT INTO `tb_blog_type` VALUES ('5', '知识总结', '0', '2020-06-09 10:18:27');
INSERT INTO `tb_blog_type` VALUES ('6', '你好2020', '0', '2020-06-13 13:45:09');
-- ----------------------------
-- Table structure for `tb_head_line`
-- ----------------------------
DROP TABLE IF EXISTS `tb_head_line`;
CREATE TABLE `tb_head_line` (
`head_line_id` int(11) NOT NULL AUTO_INCREMENT,
`head_line_title` varchar(100) NOT NULL,
`head_line_link` varchar(100) DEFAULT NULL,
`head_line_image` varchar(100) DEFAULT NULL,
`priority` int(11) DEFAULT NULL,
`type_num` int(2) DEFAULT NULL,
`status` int(2) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`head_line_id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_head_line
-- ----------------------------
INSERT INTO `tb_head_line` VALUES ('17', '码云gitee', 'https://gitee.com/explore', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571611303.jpg', '100', '1', '1', '2020-07-05 07:01:55', '2020-07-05 07:09:25');
INSERT INTO `tb_head_line` VALUES ('18', '慕课网', 'https://www.imooc.com/', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571638487.jpg', '90', '1', '1', '2020-07-05 07:02:44', '2020-07-05 07:09:08');
INSERT INTO `tb_head_line` VALUES ('19', '菜鸟教程', 'https://www.runoob.com/', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571535106.jpg', '80', '1', '1', '2020-07-05 07:08:34', '2020-07-05 07:08:34');
INSERT INTO `tb_head_line` VALUES ('20', '中国教育考试网', 'http://www.neea.edu.cn/', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571631349.jpg', '70', '2', '1', '2020-07-05 07:12:25', '2020-07-05 07:12:25');
INSERT INTO `tb_head_line` VALUES ('21', '求职', 'https://www.51job.com/', '/blog/blogprojectdev/image/upload/images/item/blog/1/2020070514571691892.jpg', '60', '2', '1', '2020-07-05 07:12:57', '2020-07-05 07:12:57');
-- ----------------------------
-- Table structure for `tb_link`
-- ----------------------------
DROP TABLE IF EXISTS `tb_link`;
CREATE TABLE `tb_link` (
`link_id` int(11) NOT NULL AUTO_INCREMENT,
`link_link` varchar(100) DEFAULT NULL,
`link_name` varchar(100) DEFAULT NULL,
`click_num` int(11) DEFAULT NULL,
`sort` int(11) DEFAULT NULL COMMENT '排序',
`status` int(2) DEFAULT NULL COMMENT '1:上架,-1:下架',
`is_apply` int(2) DEFAULT NULL COMMENT '申请审核',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`link_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_link
-- ----------------------------
INSERT INTO `tb_link` VALUES ('1', 'https://www.baidu.com/', '百度', '6', '100', '1', '1', '2020-06-13 11:38:09');
INSERT INTO `tb_link` VALUES ('2', 'https://www.imooc.com/', '慕课网', '1', '89', '1', '1', '2020-06-13 11:39:53');
INSERT INTO `tb_link` VALUES ('10', 'https://gitee.com', 'Gitee', '1', '95', '1', '1', '2020-06-15 14:33:03');
INSERT INTO `tb_link` VALUES ('11', '123', '123212', '0', '22', '-1', '-1', '2020-06-16 03:30:04');
INSERT INTO `tb_link` VALUES ('15', '#', '老耀', '1', '0', '1', '1', '2020-06-16 07:44:12');
-- ----------------------------
-- Table structure for `tb_log`
-- ----------------------------
DROP TABLE IF EXISTS `tb_log`;
CREATE TABLE `tb_log` (
`log_id` int(11) NOT NULL AUTO_INCREMENT,
`log_user_type` varchar(20) NOT NULL,
`log_ip` varchar(20) DEFAULT NULL,
`log_description` varchar(255) DEFAULT NULL,
`log_param` varchar(255) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`log_id`)
) ENGINE=InnoDB AUTO_INCREMENT=631 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_log
-- ----------------------------
INSERT INTO `tb_log` VALUES ('322', '普通用户', '192.168.1.9', '查看博客', '9', '2020-06-28 07:17:18');
INSERT INTO `tb_log` VALUES ('323', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-06-28 07:17:18');
INSERT INTO `tb_log` VALUES ('324', '普通用户', '192.168.1.9', '发表了评价', '发表了评价', '2020-06-28 07:17:29');
INSERT INTO `tb_log` VALUES ('325', '管理员', '192.168.1.9', '删除评价', '删除评价', '2020-06-28 07:36:39');
INSERT INTO `tb_log` VALUES ('326', '管理员', '192.168.1.9', '删除评价', '删除评价', '2020-06-28 07:38:09');
INSERT INTO `tb_log` VALUES ('327', '普通用户', '192.168.1.9', '查看博客', '3', '2020-06-28 07:38:48');
INSERT INTO `tb_log` VALUES ('328', '普通用户', '192.168.1.9', '查看博客', '9', '2020-06-28 07:46:36');
INSERT INTO `tb_log` VALUES ('329', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-06-28 07:46:37');
INSERT INTO `tb_log` VALUES ('330', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-02 11:43:18');
INSERT INTO `tb_log` VALUES ('331', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-02 11:45:46');
INSERT INTO `tb_log` VALUES ('332', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-02 11:45:46');
INSERT INTO `tb_log` VALUES ('333', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:46:25');
INSERT INTO `tb_log` VALUES ('334', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:46:30');
INSERT INTO `tb_log` VALUES ('335', '普通用户', '192.168.1.9', '查看博客', '11', '2020-07-02 11:46:39');
INSERT INTO `tb_log` VALUES ('336', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:46:41');
INSERT INTO `tb_log` VALUES ('337', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:48:34');
INSERT INTO `tb_log` VALUES ('338', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:48:48');
INSERT INTO `tb_log` VALUES ('339', '普通用户', '192.168.1.9', '查看博客', '11', '2020-07-02 11:48:51');
INSERT INTO `tb_log` VALUES ('340', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-02 11:49:37');
INSERT INTO `tb_log` VALUES ('341', '普通用户', '192.168.1.9', '查看博客', '4', '2020-07-03 03:13:12');
INSERT INTO `tb_log` VALUES ('342', '普通用户', '192.168.1.9', '查看博客', '4', '2020-07-03 03:13:18');
INSERT INTO `tb_log` VALUES ('343', '普通用户', '192.168.1.9', '查看博客', '4', '2020-07-03 03:14:38');
INSERT INTO `tb_log` VALUES ('344', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-03 03:14:38');
INSERT INTO `tb_log` VALUES ('345', '普通用户', '192.168.1.9', '查看博客', '4', '2020-07-03 03:14:41');
INSERT INTO `tb_log` VALUES ('346', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-03 03:14:42');
INSERT INTO `tb_log` VALUES ('347', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 03:16:20');
INSERT INTO `tb_log` VALUES ('348', '普通用户', '192.168.1.9', '查看博客', '9', '2020-07-03 08:02:07');
INSERT INTO `tb_log` VALUES ('349', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-03 08:02:08');
INSERT INTO `tb_log` VALUES ('350', '普通用户', '192.168.1.9', '发表了评价', '发表了评价', '2020-07-03 08:02:15');
INSERT INTO `tb_log` VALUES ('351', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 08:13:30');
INSERT INTO `tb_log` VALUES ('352', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-03 08:15:12');
INSERT INTO `tb_log` VALUES ('353', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 08:17:46');
INSERT INTO `tb_log` VALUES ('354', '普通用户', '192.168.1.9', '查看博客', '11', '2020-07-03 08:17:48');
INSERT INTO `tb_log` VALUES ('355', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 08:17:55');
INSERT INTO `tb_log` VALUES ('356', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-03 08:18:02');
INSERT INTO `tb_log` VALUES ('357', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 08:18:42');
INSERT INTO `tb_log` VALUES ('358', '普通用户', '192.168.1.9', '查看博客', '12', '2020-07-03 08:18:45');
INSERT INTO `tb_log` VALUES ('359', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-03 08:18:50');
INSERT INTO `tb_log` VALUES ('360', '管理员', '192.168.1.9', '删除评价', '删除评价', '2020-07-03 08:25:48');
INSERT INTO `tb_log` VALUES ('361', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-03 08:26:09');
INSERT INTO `tb_log` VALUES ('362', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-03 08:26:11');
INSERT INTO `tb_log` VALUES ('363', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-03 08:26:16');
INSERT INTO `tb_log` VALUES ('364', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-03 08:26:43');
INSERT INTO `tb_log` VALUES ('365', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-03 08:26:48');
INSERT INTO `tb_log` VALUES ('366', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-03 08:26:51');
INSERT INTO `tb_log` VALUES ('367', '管理员', '192.168.1.9', '更新资源', '更新资源', '2020-07-03 08:26:59');
INSERT INTO `tb_log` VALUES ('368', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-04 08:00:41');
INSERT INTO `tb_log` VALUES ('369', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-04 08:19:32');
INSERT INTO `tb_log` VALUES ('370', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-04 08:20:15');
INSERT INTO `tb_log` VALUES ('371', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:15:18');
INSERT INTO `tb_log` VALUES ('372', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:25:49');
INSERT INTO `tb_log` VALUES ('373', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:30:02');
INSERT INTO `tb_log` VALUES ('374', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:38:30');
INSERT INTO `tb_log` VALUES ('375', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:38:44');
INSERT INTO `tb_log` VALUES ('376', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:39:04');
INSERT INTO `tb_log` VALUES ('383', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-04 13:47:22');
INSERT INTO `tb_log` VALUES ('384', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-04 13:47:23');
INSERT INTO `tb_log` VALUES ('385', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-04 13:47:32');
INSERT INTO `tb_log` VALUES ('386', '普通用户', '192.168.1.9', '查看博客', '13', '2020-07-04 13:47:52');
INSERT INTO `tb_log` VALUES ('387', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:50:17');
INSERT INTO `tb_log` VALUES ('388', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:54:05');
INSERT INTO `tb_log` VALUES ('389', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:56:40');
INSERT INTO `tb_log` VALUES ('390', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 13:58:37');
INSERT INTO `tb_log` VALUES ('391', '普通用户', '192.168.1.9', '查看博客', '13', '2020-07-04 13:59:34');
INSERT INTO `tb_log` VALUES ('392', '管理员', '192.168.1.9', '新增黑名单', '拉黑ip', '2020-07-04 14:00:14');
INSERT INTO `tb_log` VALUES ('393', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('394', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('395', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('396', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('397', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('398', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('399', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:16');
INSERT INTO `tb_log` VALUES ('400', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:17');
INSERT INTO `tb_log` VALUES ('401', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:17');
INSERT INTO `tb_log` VALUES ('402', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:17');
INSERT INTO `tb_log` VALUES ('403', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:17');
INSERT INTO `tb_log` VALUES ('404', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 06:57:17');
INSERT INTO `tb_log` VALUES ('405', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-05 07:01:55');
INSERT INTO `tb_log` VALUES ('406', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-05 07:02:44');
INSERT INTO `tb_log` VALUES ('407', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-05 07:08:34');
INSERT INTO `tb_log` VALUES ('408', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:09:08');
INSERT INTO `tb_log` VALUES ('409', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:09:25');
INSERT INTO `tb_log` VALUES ('410', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:09:41');
INSERT INTO `tb_log` VALUES ('411', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:09:48');
INSERT INTO `tb_log` VALUES ('412', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:09:51');
INSERT INTO `tb_log` VALUES ('413', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:10:00');
INSERT INTO `tb_log` VALUES ('414', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:10:04');
INSERT INTO `tb_log` VALUES ('415', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:10:07');
INSERT INTO `tb_log` VALUES ('416', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:10:10');
INSERT INTO `tb_log` VALUES ('417', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:10:13');
INSERT INTO `tb_log` VALUES ('418', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:10:20');
INSERT INTO `tb_log` VALUES ('419', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:11:13');
INSERT INTO `tb_log` VALUES ('420', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:11:16');
INSERT INTO `tb_log` VALUES ('421', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-05 07:12:25');
INSERT INTO `tb_log` VALUES ('422', '管理员', '192.168.1.9', '添加头条', '添加头条', '2020-07-05 07:12:57');
INSERT INTO `tb_log` VALUES ('423', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:13:01');
INSERT INTO `tb_log` VALUES ('424', '管理员', '192.168.1.9', '更新头条', '更新头条', '2020-07-05 07:13:03');
INSERT INTO `tb_log` VALUES ('425', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:13:06');
INSERT INTO `tb_log` VALUES ('426', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-05 07:13:09');
INSERT INTO `tb_log` VALUES ('427', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-05 07:14:46');
INSERT INTO `tb_log` VALUES ('428', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-05 08:03:08');
INSERT INTO `tb_log` VALUES ('429', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-05 08:03:08');
INSERT INTO `tb_log` VALUES ('430', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:03:27');
INSERT INTO `tb_log` VALUES ('431', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:03:27');
INSERT INTO `tb_log` VALUES ('432', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:04:35');
INSERT INTO `tb_log` VALUES ('433', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-05 08:06:03');
INSERT INTO `tb_log` VALUES ('434', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:06:29');
INSERT INTO `tb_log` VALUES ('435', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:06:29');
INSERT INTO `tb_log` VALUES ('436', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:08:31');
INSERT INTO `tb_log` VALUES ('437', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:08:31');
INSERT INTO `tb_log` VALUES ('438', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:12:42');
INSERT INTO `tb_log` VALUES ('439', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:12:42');
INSERT INTO `tb_log` VALUES ('440', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:15:09');
INSERT INTO `tb_log` VALUES ('441', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:15:09');
INSERT INTO `tb_log` VALUES ('442', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:16:20');
INSERT INTO `tb_log` VALUES ('443', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:16:20');
INSERT INTO `tb_log` VALUES ('444', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:18:05');
INSERT INTO `tb_log` VALUES ('445', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:18:05');
INSERT INTO `tb_log` VALUES ('446', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:18:09');
INSERT INTO `tb_log` VALUES ('447', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:18:09');
INSERT INTO `tb_log` VALUES ('448', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:20:48');
INSERT INTO `tb_log` VALUES ('449', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:20:48');
INSERT INTO `tb_log` VALUES ('450', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:24:31');
INSERT INTO `tb_log` VALUES ('451', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:24:31');
INSERT INTO `tb_log` VALUES ('452', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 08:50:45');
INSERT INTO `tb_log` VALUES ('453', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 08:50:45');
INSERT INTO `tb_log` VALUES ('454', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 12:53:30');
INSERT INTO `tb_log` VALUES ('455', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 12:56:32');
INSERT INTO `tb_log` VALUES ('456', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:01:05');
INSERT INTO `tb_log` VALUES ('457', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:01:47');
INSERT INTO `tb_log` VALUES ('458', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:02:37');
INSERT INTO `tb_log` VALUES ('459', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:03:18');
INSERT INTO `tb_log` VALUES ('460', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:29:51');
INSERT INTO `tb_log` VALUES ('461', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-05 13:32:02');
INSERT INTO `tb_log` VALUES ('462', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-05 13:32:02');
INSERT INTO `tb_log` VALUES ('463', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-05 13:32:52');
INSERT INTO `tb_log` VALUES ('464', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 13:32:53');
INSERT INTO `tb_log` VALUES ('465', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:39:18');
INSERT INTO `tb_log` VALUES ('466', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:39:40');
INSERT INTO `tb_log` VALUES ('467', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:41:10');
INSERT INTO `tb_log` VALUES ('468', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:46:00');
INSERT INTO `tb_log` VALUES ('469', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:48:49');
INSERT INTO `tb_log` VALUES ('470', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:49:44');
INSERT INTO `tb_log` VALUES ('471', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-05 13:51:28');
INSERT INTO `tb_log` VALUES ('472', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:56:33');
INSERT INTO `tb_log` VALUES ('473', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 13:58:21');
INSERT INTO `tb_log` VALUES ('474', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:15:56');
INSERT INTO `tb_log` VALUES ('475', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:24:29');
INSERT INTO `tb_log` VALUES ('476', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:28:49');
INSERT INTO `tb_log` VALUES ('477', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:29:33');
INSERT INTO `tb_log` VALUES ('478', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:34:21');
INSERT INTO `tb_log` VALUES ('479', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:36:56');
INSERT INTO `tb_log` VALUES ('480', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 14:38:35');
INSERT INTO `tb_log` VALUES ('481', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 14:38:36');
INSERT INTO `tb_log` VALUES ('482', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-05 14:39:34');
INSERT INTO `tb_log` VALUES ('483', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:39:47');
INSERT INTO `tb_log` VALUES ('484', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-05 14:41:55');
INSERT INTO `tb_log` VALUES ('485', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:42:06');
INSERT INTO `tb_log` VALUES ('486', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:42:22');
INSERT INTO `tb_log` VALUES ('487', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:42:56');
INSERT INTO `tb_log` VALUES ('488', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-05 14:43:12');
INSERT INTO `tb_log` VALUES ('489', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-05 14:43:23');
INSERT INTO `tb_log` VALUES ('490', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 14:43:23');
INSERT INTO `tb_log` VALUES ('491', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-05 14:45:32');
INSERT INTO `tb_log` VALUES ('492', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 14:46:24');
INSERT INTO `tb_log` VALUES ('493', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 14:46:24');
INSERT INTO `tb_log` VALUES ('494', '普通用户', '192.168.1.9', '发表了评价', '发表了评价', '2020-07-05 14:47:00');
INSERT INTO `tb_log` VALUES ('495', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-05 14:47:05');
INSERT INTO `tb_log` VALUES ('496', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-05 14:47:05');
INSERT INTO `tb_log` VALUES ('497', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-06 10:19:19');
INSERT INTO `tb_log` VALUES ('498', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-06 11:33:03');
INSERT INTO `tb_log` VALUES ('499', '管理员', '192.168.1.9', '删除头条', '删除头条', '2020-07-06 13:31:12');
INSERT INTO `tb_log` VALUES ('500', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 13:36:46');
INSERT INTO `tb_log` VALUES ('501', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 13:39:01');
INSERT INTO `tb_log` VALUES ('502', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 13:39:01');
INSERT INTO `tb_log` VALUES ('503', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 14:52:54');
INSERT INTO `tb_log` VALUES ('504', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 14:52:54');
INSERT INTO `tb_log` VALUES ('505', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 14:53:01');
INSERT INTO `tb_log` VALUES ('506', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 14:53:01');
INSERT INTO `tb_log` VALUES ('507', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 14:57:57');
INSERT INTO `tb_log` VALUES ('508', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 14:57:57');
INSERT INTO `tb_log` VALUES ('509', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 14:58:00');
INSERT INTO `tb_log` VALUES ('510', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 14:58:00');
INSERT INTO `tb_log` VALUES ('511', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 14:58:08');
INSERT INTO `tb_log` VALUES ('512', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 14:58:08');
INSERT INTO `tb_log` VALUES ('513', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:00:59');
INSERT INTO `tb_log` VALUES ('514', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:00:59');
INSERT INTO `tb_log` VALUES ('515', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:01:19');
INSERT INTO `tb_log` VALUES ('516', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:01:19');
INSERT INTO `tb_log` VALUES ('517', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:14:43');
INSERT INTO `tb_log` VALUES ('518', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:14:43');
INSERT INTO `tb_log` VALUES ('519', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:21:56');
INSERT INTO `tb_log` VALUES ('520', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:21:56');
INSERT INTO `tb_log` VALUES ('521', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:24:29');
INSERT INTO `tb_log` VALUES ('522', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:24:29');
INSERT INTO `tb_log` VALUES ('523', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:26:51');
INSERT INTO `tb_log` VALUES ('524', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:26:51');
INSERT INTO `tb_log` VALUES ('525', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:30:12');
INSERT INTO `tb_log` VALUES ('526', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:30:12');
INSERT INTO `tb_log` VALUES ('527', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:37:33');
INSERT INTO `tb_log` VALUES ('528', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:37:34');
INSERT INTO `tb_log` VALUES ('529', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:39:35');
INSERT INTO `tb_log` VALUES ('530', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:39:35');
INSERT INTO `tb_log` VALUES ('531', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:47:14');
INSERT INTO `tb_log` VALUES ('532', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:47:14');
INSERT INTO `tb_log` VALUES ('533', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:48:06');
INSERT INTO `tb_log` VALUES ('534', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:48:06');
INSERT INTO `tb_log` VALUES ('535', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:48:32');
INSERT INTO `tb_log` VALUES ('536', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:48:32');
INSERT INTO `tb_log` VALUES ('537', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-06 15:49:12');
INSERT INTO `tb_log` VALUES ('538', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:49:12');
INSERT INTO `tb_log` VALUES ('539', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-06 15:49:27');
INSERT INTO `tb_log` VALUES ('540', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:49:27');
INSERT INTO `tb_log` VALUES ('541', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-06 15:52:53');
INSERT INTO `tb_log` VALUES ('542', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-06 15:52:53');
INSERT INTO `tb_log` VALUES ('543', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:13:18');
INSERT INTO `tb_log` VALUES ('544', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:17:42');
INSERT INTO `tb_log` VALUES ('545', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:18:49');
INSERT INTO `tb_log` VALUES ('546', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:19:01');
INSERT INTO `tb_log` VALUES ('547', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:24:56');
INSERT INTO `tb_log` VALUES ('548', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:27:39');
INSERT INTO `tb_log` VALUES ('549', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:30:34');
INSERT INTO `tb_log` VALUES ('550', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:47:12');
INSERT INTO `tb_log` VALUES ('551', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:48:27');
INSERT INTO `tb_log` VALUES ('552', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 02:49:43');
INSERT INTO `tb_log` VALUES ('553', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-07 02:51:39');
INSERT INTO `tb_log` VALUES ('554', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 02:51:39');
INSERT INTO `tb_log` VALUES ('555', '普通用户', '192.168.1.9', '查看博客', '16', '2020-07-07 02:51:53');
INSERT INTO `tb_log` VALUES ('556', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 02:51:53');
INSERT INTO `tb_log` VALUES ('557', '普通用户', '192.168.1.9', '查看博客', '16', '2020-07-07 02:52:39');
INSERT INTO `tb_log` VALUES ('558', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 02:52:40');
INSERT INTO `tb_log` VALUES ('559', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-07 02:53:13');
INSERT INTO `tb_log` VALUES ('560', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-07 02:53:21');
INSERT INTO `tb_log` VALUES ('561', '普通用户', '192.168.1.9', '查看博客', '16', '2020-07-07 02:55:27');
INSERT INTO `tb_log` VALUES ('562', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:11:26');
INSERT INTO `tb_log` VALUES ('563', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:11:39');
INSERT INTO `tb_log` VALUES ('564', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:15:08');
INSERT INTO `tb_log` VALUES ('565', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:16:16');
INSERT INTO `tb_log` VALUES ('566', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 03:21:38');
INSERT INTO `tb_log` VALUES ('567', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 03:21:44');
INSERT INTO `tb_log` VALUES ('568', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:28:58');
INSERT INTO `tb_log` VALUES ('569', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:29:48');
INSERT INTO `tb_log` VALUES ('570', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:31:51');
INSERT INTO `tb_log` VALUES ('571', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 03:32:18');
INSERT INTO `tb_log` VALUES ('572', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-07 03:34:21');
INSERT INTO `tb_log` VALUES ('573', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 03:34:21');
INSERT INTO `tb_log` VALUES ('574', '普通用户', '192.168.1.9', '查看博客', '17', '2020-07-07 03:34:48');
INSERT INTO `tb_log` VALUES ('575', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 03:34:48');
INSERT INTO `tb_log` VALUES ('576', '普通用户', '192.168.1.9', '查看博客', '17', '2020-07-07 03:35:52');
INSERT INTO `tb_log` VALUES ('577', '普通用户', '192.168.1.9', '查看博客', '17', '2020-07-07 03:35:55');
INSERT INTO `tb_log` VALUES ('578', '普通用户', '192.168.1.9', '查看博客', '17', '2020-07-07 03:36:50');
INSERT INTO `tb_log` VALUES ('579', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 03:36:50');
INSERT INTO `tb_log` VALUES ('580', '普通用户', '192.168.1.9', '查看博客', '16', '2020-07-07 03:39:12');
INSERT INTO `tb_log` VALUES ('581', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 03:39:12');
INSERT INTO `tb_log` VALUES ('582', '普通用户', '192.168.1.9', '查看博客', '17', '2020-07-07 07:00:37');
INSERT INTO `tb_log` VALUES ('583', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 07:00:37');
INSERT INTO `tb_log` VALUES ('584', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 07:16:20');
INSERT INTO `tb_log` VALUES ('585', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-07 07:35:58');
INSERT INTO `tb_log` VALUES ('586', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 07:35:58');
INSERT INTO `tb_log` VALUES ('587', '普通用户', '192.168.1.9', '查看博客', '18', '2020-07-07 07:36:09');
INSERT INTO `tb_log` VALUES ('588', '普通用户', '192.168.1.9', '查看博客', '18', '2020-07-07 07:36:52');
INSERT INTO `tb_log` VALUES ('589', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 07:36:52');
INSERT INTO `tb_log` VALUES ('590', '普通用户', '192.168.1.9', '查看博客', '18', '2020-07-07 07:38:51');
INSERT INTO `tb_log` VALUES ('591', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 07:38:51');
INSERT INTO `tb_log` VALUES ('592', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-07 08:00:17');
INSERT INTO `tb_log` VALUES ('593', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 08:00:17');
INSERT INTO `tb_log` VALUES ('594', '普通用户', '192.168.1.9', '查看博客', '19', '2020-07-07 08:00:50');
INSERT INTO `tb_log` VALUES ('595', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 08:00:50');
INSERT INTO `tb_log` VALUES ('596', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 08:14:15');
INSERT INTO `tb_log` VALUES ('597', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 08:17:37');
INSERT INTO `tb_log` VALUES ('598', '管理员', '192.168.1.9', '上传了图片', '上传了图片', '2020-07-07 08:19:47');
INSERT INTO `tb_log` VALUES ('599', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-07 08:23:23');
INSERT INTO `tb_log` VALUES ('600', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-07 08:23:23');
INSERT INTO `tb_log` VALUES ('601', '普通用户', '192.168.1.9', '查看博客', '20', '2020-07-07 08:25:48');
INSERT INTO `tb_log` VALUES ('602', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 08:25:48');
INSERT INTO `tb_log` VALUES ('603', '普通用户', '192.168.1.9', '查看博客', '19', '2020-07-07 08:26:36');
INSERT INTO `tb_log` VALUES ('604', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-07 08:26:37');
INSERT INTO `tb_log` VALUES ('605', '管理员', '192.168.1.9', '更新资源', '更新资源', '2020-07-08 05:55:18');
INSERT INTO `tb_log` VALUES ('606', '管理员', '192.168.1.9', '更新资源', '更新资源', '2020-07-08 05:56:36');
INSERT INTO `tb_log` VALUES ('607', '管理员', '192.168.1.9', '更新资源', '更新资源', '2020-07-08 05:57:48');
INSERT INTO `tb_log` VALUES ('608', '管理员', '192.168.1.9', '新增资源', '添加资源', '2020-07-08 06:04:40');
INSERT INTO `tb_log` VALUES ('609', '管理员', '192.168.1.9', '新增资源', '添加资源', '2020-07-08 06:12:52');
INSERT INTO `tb_log` VALUES ('610', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-08 06:14:28');
INSERT INTO `tb_log` VALUES ('611', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-08 06:14:28');
INSERT INTO `tb_log` VALUES ('612', '管理员', '192.168.1.9', '更新友链', '更新链接', '2020-07-08 06:16:08');
INSERT INTO `tb_log` VALUES ('613', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-08 06:32:57');
INSERT INTO `tb_log` VALUES ('614', '普通用户', '192.168.1.9', '查看博客', '20', '2020-07-08 06:33:10');
INSERT INTO `tb_log` VALUES ('615', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-08 06:33:16');
INSERT INTO `tb_log` VALUES ('616', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-08 06:33:18');
INSERT INTO `tb_log` VALUES ('617', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-08 06:33:21');
INSERT INTO `tb_log` VALUES ('618', '普通用户', '192.168.1.9', '查看博客', '15', '2020-07-08 06:34:07');
INSERT INTO `tb_log` VALUES ('619', '普通用户', '192.168.1.9', '查看博客', '20', '2020-07-08 06:38:48');
INSERT INTO `tb_log` VALUES ('620', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-08 06:38:49');
INSERT INTO `tb_log` VALUES ('621', '管理员', '192.168.1.9', '新增博客', '发表博客', '2020-07-08 07:20:37');
INSERT INTO `tb_log` VALUES ('622', '管理员', '192.168.1.9', '修改博客类别', '更新了博客类型', '2020-07-08 07:20:38');
INSERT INTO `tb_log` VALUES ('623', '普通用户', '192.168.1.9', '查看博客', '21', '2020-07-08 07:20:58');
INSERT INTO `tb_log` VALUES ('624', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-08 07:20:58');
INSERT INTO `tb_log` VALUES ('625', '普通用户', '192.168.1.9', '查看博客', '14', '2020-07-08 07:21:44');
INSERT INTO `tb_log` VALUES ('626', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-08 07:21:44');
INSERT INTO `tb_log` VALUES ('627', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-08 07:22:14');
INSERT INTO `tb_log` VALUES ('628', '管理员', '192.168.1.9', '更新博客', '更新博客', '2020-07-08 07:22:21');
INSERT INTO `tb_log` VALUES ('629', '普通用户', '192.168.1.9', '查看博客', '21', '2020-07-08 07:22:36');
INSERT INTO `tb_log` VALUES ('630', '普通用户', '192.168.1.9', '更新博客', '更新点击数', '2020-07-08 07:22:36');
-- ----------------------------
-- Table structure for `tb_ping`
-- ----------------------------
DROP TABLE IF EXISTS `tb_ping`;
CREATE TABLE `tb_ping` (
`ping_id` int(11) NOT NULL AUTO_INCREMENT,
`blog_id` int(11) DEFAULT NULL,
`ping_name` varchar(20) DEFAULT NULL,
`ping_context` text NOT NULL,
`type` int(2) NOT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`ping_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_ping
-- ----------------------------
INSERT INTO `tb_ping` VALUES ('14', '-1', 'Leo', '沙发', '2', '2020-07-05 14:47:00');
-- ----------------------------
-- Table structure for `tb_resources`
-- ----------------------------
DROP TABLE IF EXISTS `tb_resources`;
CREATE TABLE `tb_resources` (
`resources_id` int(11) NOT NULL AUTO_INCREMENT,
`resources_title` varchar(100) NOT NULL,
`resources_content` text NOT NULL,
`resources_link` varchar(100) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
`status` int(2) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`resources_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_resources
-- ----------------------------
INSERT INTO `tb_resources` VALUES ('1', '西游豪侠传955', '西游豪侠传955', 'https://pan.baidu.com/s/155PzDrYwhLZeR52mjMSWww', '9vwm', '1', '2020-06-18 12:21:59');
INSERT INTO `tb_resources` VALUES ('2', '梦5乱舞', '梦5乱舞', 'https://pan.baidu.com/s/1bq12Z1uxTQxPOMNg9U82Wg', 'n2y7', '1', '2020-06-18 12:22:50');
INSERT INTO `tb_resources` VALUES ('3', '梦幻单机长安居1.70', '梦幻单机长安居1.70整合1.71补丁工具', 'https://pan.baidu.com/s/1EqQqpbRVkZYtCXyRcDNg1g', 'gukd', '1', '2020-06-18 12:23:22');
INSERT INTO `tb_resources` VALUES ('4', '梦幻封妖传1.23安卓版', '梦幻封妖传1.23安卓版', 'https://pan.baidu.com/s/12qYAZZdKO0CP3jzK5bAaLg', 'w5ri', '1', '2020-07-08 06:04:40');
INSERT INTO `tb_resources` VALUES ('5', '博客源码(Blog)', '最新更改版-Blog', 'https://pan.baidu.com/s/1R3CtKLinVWwanVpnCpHkYA', '7sk6', '1', '2020-07-08 06:12:52');
-- ----------------------------
-- Table structure for `tb_visit`
-- ----------------------------
DROP TABLE IF EXISTS `tb_visit`;
CREATE TABLE `tb_visit` (
`visit_id` int(11) NOT NULL AUTO_INCREMENT,
`visit_ip` varchar(100) DEFAULT NULL,
`user_agent` varchar(200) DEFAULT NULL,
`city` varchar(100) DEFAULT NULL,
`url` varchar(100) DEFAULT NULL,
`browser_type` varchar(100) DEFAULT NULL,
`platform_type` varchar(100) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`visit_id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tb_visit
-- ----------------------------
INSERT INTO `tb_visit` VALUES ('17', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/frontend/index', 'Chrome', 'Windows 7', '2020-07-03 02:42:04');
INSERT INTO `tb_visit` VALUES ('18', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/blogadmin/adminindex', 'Chrome', 'Windows 7', '2020-07-04 07:12:51');
INSERT INTO `tb_visit` VALUES ('19', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/resources/images/wx.jpg', 'Chrome', 'Windows 7', '2020-07-05 05:24:30');
INSERT INTO `tb_visit` VALUES ('20', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/blogadmin/adminindex', 'Chrome', 'Windows 7', '2020-07-06 09:42:13');
INSERT INTO `tb_visit` VALUES ('21', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/blogadmin/adminindex', 'Chrome', 'Windows 7', '2020-07-07 01:55:30');
INSERT INTO `tb_visit` VALUES ('22', '192.168.1.9', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36', ' 局域网', '/blog/blogadmin/adminindex', 'Chrome', 'Windows 7', '2020-07-08 05:51:35');
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )