ssm+bootstrap项目-PLMS
1 需求
用户的登录,注册,修改信息,退出登录
进行书籍的录入,修改,删除,条件查询,分页
为指定书籍添加笔记,修改笔记,展示笔记,删除笔记,对笔记列表条件查询,分页
为书籍增加一个国家分类,删除国家,对国家列表条件查询,分页
2 建表结构
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
`book_id` int(11) NOT NULL AUTO_INCREMENT,
`book_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`book_author` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`book_state` int(11) NOT NULL DEFAULT '1',
`fk_country_id` int(11) DEFAULT NULL,
`fk_user_id` int(11) DEFAULT NULL,
PRIMARY KEY (`book_id`),
KEY `fk_country_id` (`fk_country_id`),
KEY `fk_user_id` (`fk_user_id`),
CONSTRAINT `book_ibfk_1` FOREIGN KEY (`fk_country_id`) REFERENCES `country` (`country_id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `book_ibfk_2` FOREIGN KEY (`fk_user_id`) REFERENCES `user` (`user_id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Table structure for country
-- ----------------------------
DROP TABLE IF EXISTS `country`;
CREATE TABLE `country` (
`country_id` int(11) NOT NULL AUTO_INCREMENT,
`country_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`fk_user_id` int(11) DEFAULT NULL,
PRIMARY KEY (`country_id`),
KEY `fk_user_id` (`fk_user_id`),
CONSTRAINT `country_ibfk_1` FOREIGN KEY (`fk_user_id`) REFERENCES `user` (`user_id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Table structure for note
-- ----------------------------
DROP TABLE IF EXISTS `note`;
CREATE TABLE `note` (
`note_id` int(11) NOT NULL AUTO_INCREMENT,
`note_title` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`note_content` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`note_date` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`fk_book_id` int(11) DEFAULT NULL,
`fk_user_id` int(11) DEFAULT NULL,
PRIMARY KEY (`note_id`),
KEY `fk_book_id` (`fk_book_id`),
KEY `note_ibfk_2` (`fk_user_id`),
CONSTRAINT `note_ibfk_1` FOREIGN KEY (`fk_book_id`) REFERENCES `book` (`book_id`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `note_ibfk_2` FOREIGN KEY (`fk_user_id`) REFERENCES `user` (`user_id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`user_account` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`user_password` varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3 项目目录
4 部分界面截图
5 具体技术实现
- 使用bootstrap栅格系统的流式布局作为基本页面布局
- 使用bootstrap的模态框作为删除的提示,和部分增删改的输入页面
- 使用了bootstarp很多的页面样式,比如:表格,表单,按钮,标签,分页,超大屏幕等等.
- 使用了css对页面进行微调
- 使用了javaScript,JQuery,正则表达式对用户的输入进行验证和限制
- 使用了Ajax完成了大量的异步数据交互比如:验证用户名重复,密码是否正确,还有部分数据的增删改.
- 使用了json作为前后端传递数据的格式
- 使用拦截器实现了在未登录状态下拦截掉所有除了用户登录的注册以外的请求
- 使用mybatis作为持久层代取代JDBC代码,完成连接数据库,和对数据增删改查的持久化操作
- 使用spring作为业务层,发挥IOC和AOP特性,对使用的对象进行注册,和调用dao层中的方法进行业务需求的处理和实现
- 使用springmvc作为控制层,负责控制业务流程中各个模块,调用service层来实现业务和视图的跳转.
- 使用spring完成绝大部分的配置,比如:数据库连接池,声明式事务,视图解析器,拦截器,json乱码等等.
- 使用lombok插件来添加实体类中的方法
6 源码下载