• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Weituotian-JavaEE: 驮神JavaEE开发框架。基于 SpringMVC 4.35 + Spring 4.35 + Hiber ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Weituotian-JavaEE

开源软件地址:

https://gitee.com/weituotian/weituotian-video

开源软件介绍:

驮神Java EE开发框架


大家好,我是韦驮天,今天给大家带来我的毕业设计项目,驮神java开发框架。
驮神开发框架是一款Java EE开发的权限系统。基于 SpringMVC 4.35 + Spring 4.35 + Hibernater 5.25 + shiro + freemarker + AdminLTE Iframe

feature

  1. 后台UI模版AdminLte With Iframe, 多tab页面,自适应后台(IE9+)
  2. 使用Hibernate的JPA用法(参考了Spring Data JPA的源码),hibernate动态搜索条件加分页用JPA的Criterial API,无动态搜索的直接用jpql查询
  3. 基于url的权限框架,shiro自定义过滤器, 整合ehcache,修复登录容易超时问题
  4. BaseController, BaseService, BaseDao 封装常用操作
  5. 基于shiro实现自动登录过滤器,APP用户可用
  6. 对hibernate查询进行了优化, sql语句每个页面控制在4条之内。处理懒加载问题时,尽早将需要的实体或者字段fetch出来,避免查询更多sql
  7. 解决shiro realm导致的service层不能注解事务的问题
  8. js在前台生成树,后台不再生成树,优化服务器性能

参考项目

  1. spring-shiro-training
  2. SpringMVC-Mybatis-shiro
  3. 后台ui框架 AdminLte With Iframe

截图

电脑端

用户角色资源分配资源分配角色菜单动态管理

手机端

部署步骤

  1. 使用mysql数据库,导入doc文件下的sql(docs/sql/rbac_hibernate20170421.sql)
  2. 修改hibernater_config.property的文件, 修改为自己的mysql的连接配置
jdbc_url=jdbc:mysql://localhost:3306/rbac_hibernate?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNulljdbc_username=rootjdbc_password=root
  1. 假设tomcat或者jetty容器设置的context路径为webx,那么访问http://localhost:8080/webx/login 为后台登录页面

初始账号

最高管理员 admin/123123

数据库设计

基于rbac, 数据库表描述

数据库表名称数据库表描述
user用户表,所有登录后台的用户
role角色表,后台用户角色
resource资源表,基于url的资源管理
user_role用户角色表
role_resource角色资源关联表
menu菜单表,后台菜单

user 用户表

字段类型是否为空主键注释
idint(11)NOId
loginnamevarchar(64)NO登录名
passwordvarchar(64)NO密码,md5加密
emailvarchar(40)NO邮箱
namevarchar(64)YES姓名
usertypeint(2)YES0为普通用户,1为管理员
statusenum('OPEN','CLOSE')YES状态

role 角色表

字段类型是否为空主键注释
idint(11)NOid
namevarchar(40)NO名字
seqint(11)NO顺序
statusenum('CLOSE','OPEN')NO状态,1正常,0停用

user_role 用户角色表

字段类型是否为空主键注释
user_idint(11)NO用户id
role_idint(11)NO角色id

resource 资源表

字段类型是否为空主键注释
idint(11)NO资源id
moudle_idint(11)YES模块id
namevarchar(40)NO名字
urlvarchar(100)NO资源url
statusenum('CLOSE','OPEN')NO状态
controllervarchar(255)NO控制器
methodvarchar(255)NO方法
moudlevarchar(255)NO模块名称

role_resource 角色资源关联表

字段类型是否为空主键注释
role_idint(11)NO角色id
resource_idint(11)NO资源id



配套实例

韦驮天视频

基于驮神开发框架。在其权限系统的基础上开发了一个视频网站的实现。

使用此后台的手机APP

韦驮天视频的android app

安装须知

  • WEB-INF同级目录下创建upload文件夹,再创建子文件夹uploadavatercoverfileimagesvideo用来存放上传的头像,截图和视频

初始账号

会员帐号: weituotian/123123

feature

  • 修改dmuploader上传插件,上传图片可裁剪,上传可显示速度
  • 利用hibernate中的继续关系,Member会员实体继承于User后台用户实体,共用主键
  • 使用idea插件生成vo和entity转换代码

## 截图

电脑端

首页登录注册评论管理后台首页会员首页视频管理头像上传

手机端

用例

数据库

数据库表描述

数据库表名称数据库表描述
attachment附件表,统一管理封面,头像和视频
comment评论表,视频的评论
member会员表,app的会员
member_collect收藏表,会员收藏的视频
member_follow关注表,会员关注
patition分区表,视频分区
video视频表
video_tag视频标签关联表
video_tags视频标签表

attachment 附件表

字段类型是否为空主键注释
idint(11)NOId
datedateYES提交时间
pathvarchar(255)YES路径
tempbit(1)NO是否临时的
typevarchar(255)YESMime类型
userIdint(11)YES上传的用户id
filenamevarchar(255)YES文件名

comment 评论表

字段类型是否为空主键注释
idint(11)NOId
contentvarchar(255)YES内容
postTimedatetimeYES回复时间
member_idint(11)YES会员id
video_idint(11)YES视频id

member 会员表

字段类型是否为空主键注释
idint(11)NOId
addressvarchar(255)YES地址
avatarvarchar(255)YES头像
birthDatedateYES生日
descriptvarchar(255)YES签名描述
fansint(11)YES粉丝数
levelint(11)YES等级
regDatedateYES注册日期
sexenum('UNKNOW','FEMALE','MALE')YES性别enum
videosint(11)YES投稿视频数量
followsint(11)YES关注的人数
experienceint(11)YES经验

member_collect 用户收藏表

字段类型是否为空主键注释
member_idint(11)NO会员id
video_idint(11)NO

member_follow 用户关注表

字段类型是否为空主键注释
member_idint(11)NO用户id
up_idint(11)NO关注的用户id

menu 菜单表

字段类型是否为空主键注释
idint(11)NOId
pidint(11)YES父菜单id
textvarchar(40)YES显示的名称
statusenum('CLOSE','OPEN')YES状态
seqsmallint(6)YES排序
iconvarchar(100)YES图标
resource_idint(11)YES关联的资源id

patition 分区表

字段类型是否为空主键注释
idint(11)NOId
namevarchar(255)YES分区名

reply 回复表

字段类型是否为空主键注释
idint(11)NOId
contentvarchar(255)YES内容
postTimedatetimeYES提交时间
comment_idint(11)YES评论id
member_idint(11)YES会员id

video 视频表

字段类型是否为空主键注释
idint(11)NOId
auditTimedatetimeYES审核通过时间
clickint(11)YES点击数量
collectint(11)YES收藏数量
covervarchar(255)YES封面路径
createTimedatetimeYES创建时间
descriptvarchar(255)YES视频描述
pathvarchar(255)YES路径
playint(11)YES播放数量
totalTimeint(11)YES视频总时间
updateTimedatetimeYES更新时间
videoStateenum('Auditing','Uncommitted','ReEdit','AuditFailure','Audited')YES视频状态
member_idint(11)YES上传的会员id
partition_idint(11)YES分区id
titlevarchar(255)YES标题
attachment_idint(11)YES附件id
open_stateenum('OPEN','CLOSE')YES是否对外公开

video_tag 视频标签关联表

字段类型是否为空主键注释
video_idint(11)NO视频id
tag_idint(11)NO标签id

video_tags 视频标签表

字段类型是否为空主键注释
idint(11)NOId
createTimedatetimeYES创建时间
namevarchar(255)YES标签名

会员与视频模块之间的关系,视频可以有多个评论,多个标签,对应只有一个附件保存视频MP4路径。用户可以发表多个评论,关注多个用户,收藏多个视频

todo 待完成任务:

  • 参数验证
  • 系统日志
  • 增加js插件 密码equal to的功能
  • 优化search_
  • 优化菜单jstree
  • 用户验证
  • 不同登录类型选择不同的shiro realm
  • favicon
  • 字体
  • springmvc 访问频率验证 ,ehcache缓存
  • 字典管理,附件管理
  • 实现自定义注解

解决了的问题

  • 修改上传插件dmuploader,支持上传速度显示。
  • 整合Cropper和dmuploader,裁剪后ajax上传图片(ie9+)。
  • Spring下在controller读取properties文件
  • mybatis,springMVC,freemarker中对enum的使用
  • freemarker模板与springmvc配置,引用相对路径模板文件
  • springmvc使用@ModelAttribute,RedirectAttributes.addFlashAttribute重定向,url可不带重定向参数
  • jstree,checkbox插件的用法,折叠全部,打开所有选择的节点
  • freemarker使用shiro的标签

参考博客

点此

关于我

b站主页


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap