您好,欢迎访问三七文档
**最近准备开发一个家庭财务管理系统,该系统后台采用目前比较流行的Spring4、SpringMVC、Mybatis三大MVC框架技术,并且加入了shiro权限框架登录认证,maven项目管理工具,在前台用目前比较流行的bootstrap+ajax+json技术渲染分页数据显示。下面给出整个项目的详细构建过程和代码配置。**首先创建数据库quick4j,一共有5张表,分别是user,role,permission,user_role和role_permission。结构如下:该数据表对应的创建sql语句如下:/*NavicatMySQLDataTransferSourceServer:本地数据库SourceServerVersion:50703SourceHost:localhost:3306SourceDatabase:quick4jTargetServerType:MYSQLTargetServerVersion:50703FileEncoding:65001Date:2016-08-2109:43:02先在本地创建quick4j数据库:mysqlcreatedatabasequick4j;mysqlusequick4j;mysqlsetnamesutf8;mysqlsourceD:/sql/quick4j.sql;*/SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructurefor`permission`------------------------------DROPTABLEIFEXISTS`permission`;CREATETABLE`permission`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'权限id',`permission_name`varchar(32)DEFAULTNULLCOMMENT'权限名',`permission_sign`varchar(128)DEFAULTNULLCOMMENT'权限标识,程序中判断使用,如user:create',`description`varchar(256)DEFAULTNULLCOMMENT'权限描述,UI界面显示使用',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8CHECKSUM=1DELAY_KEY_WRITE=1ROW_FORMAT=DYNAMICCOMMENT='权限表';--------------------------------Recordsofpermission------------------------------INSERTINTO`permission`VALUES('1','user:create','user:create',null);--------------------------------Tablestructurefor`role`------------------------------DROPTABLEIFEXISTS`role`;CREATETABLE`role`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'角色id',`role_name`varchar(32)DEFAULTNULLCOMMENT'角色名',`role_sign`varchar(128)DEFAULTNULLCOMMENT'角色标识,程序中判断使用,如admin',`description`varchar(256)DEFAULTNULLCOMMENT'角色描述,UI界面显示使用',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=3DEFAULTCHARSET=utf8CHECKSUM=1DELAY_KEY_WRITE=1ROW_FORMAT=DYNAMICCOMMENT='角色表';--------------------------------Recordsofrole------------------------------INSERTINTO`role`VALUES('1','admin','admin','管理员');INSERTINTO`role`VALUES('2','manager','manager','管理者');--------------------------------Tablestructurefor`role_permission`------------------------------DROPTABLEIFEXISTS`role_permission`;CREATETABLE`role_permission`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'表id',`role_id`bigint(20)unsignedDEFAULTNULLCOMMENT'角色id',`permission_id`bigint(20)unsignedDEFAULTNULLCOMMENT'权限id',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8CHECKSUM=1DELAY_KEY_WRITE=1ROW_FORMAT=DYNAMICCOMMENT='角色与权限关联表';--------------------------------Recordsofrole_permission------------------------------INSERTINTO`role_permission`VALUES('1','2','1');--------------------------------Tablestructurefor`user`------------------------------DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'用户id',`username`varchar(50)DEFAULTNULLCOMMENT'用户名',`password`char(64)DEFAULTNULLCOMMENT'密码',`state`varchar(32)DEFAULTNULLCOMMENT'状态',`create_time`datetimeDEFAULTNULLCOMMENT'创建时间',`test`varchar(10)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=27DEFAULTCHARSET=utf8CHECKSUM=1DELAY_KEY_WRITE=1ROW_FORMAT=DYNAMICCOMMENT='用户表';--------------------------------Recordsofuser------------------------------INSERTINTO`user`VALUES('13','test3','test','启用','2016-08-1821:59:17','test');INSERTINTO`user`VALUES('14','test4','test','启用','2016-08-1821:59:17','test');INSERTINTO`user`VALUES('15','test44','test','启用','2016-08-1821:59:17','test');INSERTINTO`user`VALUES('16','test333','test','启用','2016-08-1821:59:17','test');INSERTINTO`user`VALUES('17','test33','test','启用','2016-08-1821:59:17','test');INSERTINTO`user`VALUES('18','test55','test','启用','2016-08-1821:59:17','test');--------------------------------Tablestructurefor`user_role`------------------------------DROPTABLEIFEXISTS`user_role`;CREATETABLE`user_role`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'表id',`user_id`bigint(20)unsignedDEFAULTNULLCOMMENT'用户id',`role_id`bigint(20)unsignedDEFAULTNULLCOMMENT'角色id',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8CHECKSUM=1DELAY_KEY_WRITE=1ROW_FORMAT=DYNAMICCOMMENT='用户与角色关联表';--------------------------------Recordsofuser_role------------------------------INSERTINTO`user_role`VALUES('1','1','1');INSERTINTO`user_role`VALUES('2','13','1');INSERTINTO`user_role`VALUES('3','14','2');数据库创建完成后,接下来构建maven项目–家庭财务管理系统,名称为HelloHome,该项目代码结构图如下:接下来给出maven配置文件pom.xml的详细配置(该文件主要用来管理jar包依赖关系和项目部署情况):projectxmlns=:xsi=:schemaLocation=://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.kj.test/groupIdartifactIdHelloHome/artifactIdpackagingwar/packagingversion0.0.1-SNAPSHOT/versionnameHelloHomeMavenWebapp/nameurl!--spring版本号--spring.version4.0.6.RELEASE/spring.version!--mybatis版本号--mybatis.version3.3.0/mybatis.version!--log4j日志文件管理包版本--slf4j.version1.7.7/slf4j.versionlog4j.version1.2.17/log4j.versionshiro.version1.2.3/shiro.version/propertiesdependencie
本文标题:项目案例详解spring、spring-mvc、mybatis、shiro、maven
链接地址:https://www.777doc.com/doc-4376233 .html