供应链管理系统汇编Word格式文档下载.docx
- 文档编号:15288865
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:29
- 大小:1.07MB
供应链管理系统汇编Word格式文档下载.docx
《供应链管理系统汇编Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《供应链管理系统汇编Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
添加maven支持
编辑pom.xml文件
写持久化类和映射文件
写spring的配置文件
该系统要创建的映射文件的包为:
com.itheima11.gyl.domain.basedata
com.itheima11.gyl.domain.privilege
com.itheima11.gyl.domain.xsgl
创建一个测试类,生成表
框架的搭建
dao封装的需求
1、供应链的所有的模块都用到了查询
该查询是分页的
该查询还是按照条件
该查询是按照数据来查询的
2、删除的操作
1、有可能一次性删除很多行记录
2、有可能删除一行记录
3、根据id查询持久化对象
4、增加操作
5、修改操作
dao的封装
查询的实现
PageResult
BaseQuery
BaseDao
BaseDaoImpl<
T>
1、在构造器中
publicBaseDaoImpl(){
/**
*this代表子类
*this.getClass().getGenericSuperclass()就是父类:
泛型
*如果不带T,this.getClass().getGenericSuperclass()返回的是class类型,而不是ParameterizedType
*spring(2.x和3.x)容器不支持带泛型的创建对象
*/
ParameterizedTypetype=(ParameterizedType)this.getClass().getGenericSuperclass();
//得到t的实现类型
this.classt=(Class)type.getActualTypeArguments()[0];
}
得到了T的class形式
2、在init方法中
@PostConstruct
publicvoidinit(){//初始化方法
this.classMetadata=this.hibernateTemplate.getSessionFactory()
.getClassMetadata(this.classt);
得到了元数据的形式
3、getCount方法
方法的参数为BaseQuery,在该BaseQuery中有一个方法buildWhere,利用
该方法可以得到查询条件的map形式
拼接hql语句的where条件语句
动态的传入参数的值
4、findPageResult方法
同上
增加的实现
删除多个数据
根据ids--->
字符串,利用hibernateTemplate的find方法得到一个list,
再利用hibernateTemplate的deleteAll方法删除list即可。
删除一个数据
service的封装需求
把service层的crud的方法就可以封装在BaseService中
service的封装
BaseService<
BaseServiceImpl<
1、
publicabstractBaseDaogetBaseDao();
这是一个抽象方法,谁继承,谁实现
因为在该类中没有办法实现
2、在spring的配置文件中,添加事务的注解解析器
3、其中的一个方法
action的封装的需求
把模型驱动进行封装
把得到session进行封装
把一些字符串封装
action的封装
BaseAction<
泛型
就是java语言中的一种类型
ParameterizedType就是泛型
ParameterizedType
例如:
publicclassBaseDao<
{
BaseDao---->
rawType
T--->
actualTypeArguments
第一种传递参数的方式:
publicclassSubBaseDao<
extendsBaseDao<
publicclassDepartmentDaoextendsSubBaseDao<
Department>
或者
publicclassDepartmentDao<
extendsSubBaseDao<
DeparmentDao<
departmentDao=newDepartmentDao<
();
第二种传递的方式:
BaseDao<
baseDao=newBaseDao<
项目开发
基础数据
department模块
创建action
1、创建一个包
com.itheima11.gyl.basedata.action
2、创建一个DepartmentAction类
测试action
准备department关于struts2的配置文件
准备css文件和images文件
准备jsp结构
在web-inf/jsp/gyl/basedata/department下创建一个jsp页面
准备web.xml文件
list.jsp
显示department的列表
<
s:
iteratorvalue="
#departments.rows"
>
<
tralign="
center"
td>
inputtype="
checkbox"
name="
dids"
value="
${did}"
/>
/td>
propertyvalue="
name"
description"
<
tdclass="
btn"
align="
<
button"
修改"
删除"
/tr>
<
/s:
iterator>
把分页的组件加入到页面中
说明:
1、每一个input元素中有一个param属性,根据该属性的值可以知道操作以后
要显示的页面是第几页
2、flag属性是用来标示哪个按钮
写一个通用的分页的处理js
GylUtils.js
varGylUitls={
//基本数据模块
basedata:
//分页的处理
dispage:
linkNextPage:
function(){
/**
*this为当前的按钮
*/
varcurrentPage=$(this).attr("
param"
);
varurl=$("
body"
).data("
url"
window.location.href=url+"
?
currentPage="
+currentPage;
注意的事项:
baseQuery.currentPage这种形式传递参数不行
}
//基本数据模块初始化事假
initEvent:
//初始化了分页的事件
};
动态的加载checkbox
删除button
submit"
或者是一个
jquery-plugin-delete.js
该插件描述了三个功能:
1、删除功能
如果没有选择checkbox,则提示选择
window.confirm的提示
2、绿色的表示对数据中的checkbox的控制
3、蓝色的表示对控制的checkbox的状态的控制
BaseAction
获取被选中的复选框的值,并且把值变成字符串的形式
DepartmentAction
删除submit
增加
add.jsp
修改
jquery-plugin-update.js
用户模块
持久化和映射文件
UserDao
UserDaoImpl
UserService
UserServiceImpl
UserQuery
注意事项:
跳转到增加的页面:
action中的代码:
userAction:
页面上的值的回显一般情况下是根据页面上的name属性,在后台的action中
必须把值放入到对象栈中。
注意事项
权限
1、认证(authentication)
登录
用户名和密码的登录
2、授权
给用户权限
权限:
权限和资源是对应的
资源:
url
菜单控制
功能:
页面上能够点击的元素
action中的方法控制注解的形式springAopstruts2的拦截器
数据
权限框架
1、SpringSecurity
通过过滤器链的方式,内部通过aop的技术把这些过滤器联系在一起的
主要控制url
该权限必须建立在spring容器基础之上
该权限和web容器有关联
2、shiro
与任何框架都没有关系
与web容器也没有关系
3、自己公司开发的权限框架
步骤
菜单、功能、url这些元素,如果系统做完了,这些内容就确定了。
角色
相当于权限的集合,要以树的形式进行维护
给角色分配权限
给用户分配角色
控制访问权限
zTree
是jquery的一个树的插件
创建zTree的步骤
1、准备一个样式文件和两个js文件
2、在页面上准备树的容器
3、写js代码创建树
zNodes描述的是树上的节点
setting为整个树的特性
权限实现的详细步骤
权限的实现
1、准备持久化类和映射文件(Menuitem)
2、准备一个测试类MenuitemTest.java
3、把准备的数据存放在数据库表menuitem中
4、加载zTree:
1、准备js文件和样式文件
2、准备menuitem.jsp页面
3、准备menuitem的dao
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 供应 管理 系统 汇编