SSM整理笔记1——SSM网站初步功能设计
前言
因为公司里一直用Hibernate,但是现在Mybatis是趋势,所以搭建一个Mybatis的网站框架,目的是:1摸清其功能特点,2为以后的项目增加框架选择(以前只用hibernate或者SpringJDBC)。
功能目标如下:简单的增删改查和联表查询。
网站概述:一个简单的博客网站(只能写单篇博客,不能写章节式小说)
网站功能:用户注册,用户分类,用户登录,用户主页,写博客,博客分类,博客查看。
框架:SpringMVC + Tiles + Spring + Mybatis
数据库:Mysql5.7
数据库设计如下:(此处的截图来自于DBeaver的功能,比MySQLWorkbench多一些小功能)
由于需要测试多个框架,所以为了方便共享数据,使用了同一个数据库SpringMVC
#mysql数据库 DROP DATABASE IF EXISTS springMVC; create database springMVC DEFAULT CHARACTER SET utf8 ; use springMVC; DROP TABLE IF EXISTS user; CREATE TABLE user( id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, slogan VARCHAR(200), create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_date TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS user_type; CREATE TABLE user_type( id INT PRIMARY KEY AUTO_INCREMENT, user_type VARCHAR(20) NOT NULL )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS user_message; CREATE TABLE user_message( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT, user_type_id INT, interest VARCHAR(20), create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_date TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY(user_type_id) REFERENCES user_type(id), FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS essay; CREATE TABLE essay( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT, title VARCHAR(20) NOT NULL, content text, flag INT DEFAULT 0, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_date TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;