# ssm **Repository Path**: geguol.cc/ssm ## Basic Information - **Project Name**: ssm - **Description**: spring3.2 mybatis3.3 spring-mybatis 1.2.4 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-05-15 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 2017年7月13日 第七天 1. 整理数据库表:采购单 ``` 采购清单表 关联 采购详情 1. ``` 2. 完成采购单的保存 ## 2017年7月12日 继续第六天 1. 添加页面 ``` 包括:左侧页面 添加采购页面 采购页面可以选择 添加 移除商品 ``` 2. 移除选中 ``` var array = $("#dg").datagrid("getSelections"); if(array.length>0){ for(var i=array.length-1;i>=0;i--){ // ids[i]=array[i].supId; // console.log(array[i]); var index = $("#dg").datagrid("getRowIndex",array[i]); // 查看已选项 alert('确定删除 ' + index); $("#dg").datagrid('deleteRow',index); ``` ## 2017年7月11日 第六天 1. 新增数据库表 goods 2. 测试增删改查 ## 2017年7月11日 第五天修改 1. 完成修改功能 > 在修改窗获取选中的项数据 ``` 1. 将选中的数据回填到表单中 2. 提交表单进行修改 ``` ## 2017年7月10日 第四天课程 0. 修改supplier表中的数据 ``` /** 1. 新增这两个字段 sup_pay decimal(12,2), sup_type varchar(10), */ ALTER TABLE supplier ADD COLUMN sup_pay DECIMAL(12,2); ALTER TABLE supplier ADD COLUMN sup_type VARCHAR(10) ; -- 添加默认值 ALTER TABLE supplier modify COLUMN sup_pay DECIMAL(12,2) DEFAULT 100.10; ALTER TABLE supplier modify COLUMN sup_type VARCHAR(10) DEFAULT '1'; /** 修改表的值 */ UPDATE supplier SET .supplier.sup_pay=100,.supplier.sup_type="1"; -- 删除多条表数据 DELETE FROM supplier WHERE sup_id IN (1,3); ``` 1. 添加删除操作 ``` 1. 测试数据库 删除 根据 ID 2. dao service controller 3. 测试easyui 选择-提交-刷新 * 1. 获取选中的选项 * 2. 弹出删除提示框 * 3. 提交删除请求 * 4. 提交成功 重新刷新页面 * 5. 删除完成后清空已选数据 ``` 2. 修改供应商类型 > 加载常用的数据 ``` * 系统启动从库中加载到内存 将数据放在 Application 中 (ServletContext) 1. 新建一个Servlet 2. 配置系统加载时自动初始化 3. 在init 方法中配置 设置map值 4. 在jsp 中获取 ``` 3. 完成新增功能 > 在弹窗中完成 ``` 1. 在main.jsp中添加一个窗口 2. 指定窗口内容 content 通过action 跳转 这里不直接制定jsp 页面 3. 如何在弹出框中 获取当前tab 页面中的iframe //注意:所有支持XDM 的浏览器也支持iframe 的contentWindow 属性 在 win 窗口操作 tab 窗口的iframe 的 datagrid 对象 属于跨文本传递 通过contentWindwo 属性实现 var iframeWindow = document.getElementById("myframe").contentWindow; iframeWindow.postMessage("A secret", "http://www.wrox.com"); ``` ## 总结 * grid分页记住选项 添加 标记字段属性:idField * 新增弹框 需要指定 parent.$("x") * 容易出错的地方还是 jsp mybaitis * 如果jquery 没有效果 很可能是路径出现了问题 ## 2017年7月9日 完成第二天页面的搭建 1. 添加单选按钮列 2. 添加搜索框 3. 分页查询供应商 ``` 1. 对mybatis 的 参数处理 不熟悉 2. 对mybaitis 的 like %% 不熟悉 3. 测试接口 ``` > easyUI 表格的查询 选择页面 时 dataGrid 会自动提交一个 post 请求 ,可以通过控制台看到请求参数 参数是: page:1 rows:5 4. 增加Action 5. 修改 supplierlist 的数据源路径 6. 让请求的参数交给框架去自动封装;修改page 的属性 ``` request 获取不到 请求参数呢? 单独的获取没问题 public Object selectPage(int page,int rows,String keyWord){ 但是使用Page去接收 就接收不到了 怀疑是 get/set方法没有写 最后 完美解决 ``` 7. 改成多参数查找 > 根据供应商名称 和供应商地址 多重条件筛选 ``` 1. 具体参数就是supplier 对象 2. 修改sql 3. 修改jsp 4. 修改action ``` > 总结 * mybatis 的 orm 中的model 必须要有默认空构造函数 * mybatis sql 参数都可以通过@params 注入 获取属性默认调用get 方法 * where 标签会自动 处理 and | or * like 后面需要添加 %% ## 2017年6月25日 完成suplylist 页面 1. 现在是本地资源文件找不到 ## 2017年6月3日 1. login 操作数据库有问题 2. 登陆失败forward 有问题 ### 解决办法 1. 查看数据库语句 发现myabitis 语句中的符号写错了 正确:`column_name` 错误:'column_name' 2. debug 调试 forward->InvocableHandlerMethod -> invokeForRequest() ->ServletInvocableHandlerMethod -> invokeAndHandle() 通过查询 request Uri 发现转发被控制器给拦截了 我是想转发给资源文件啊 > 解决办法 让资源和action 名称不一样 ## 管理页面 1. 登陆 错误验证 session 2. main.jsp 导航菜单 ``` a. 主框架 b. 左侧导航 c. 中间导航 ``` ## 2017年5月20日 完成登陆功能 1. 数据库,查询,插入 2. 登陆页面 3. 左侧ul 导航栏 4. 中间tab选项 ## 2017年5月15日 引入jquery