以下是我对deepseek输入的指令,通过该指令写出的代码有很多问题,deepseek用起来非常难用,总是显示服务器繁忙,写出的代码以及框架有很多问题,报错非常多还总是对不上,经过调整修改后能够运行,节省了很多写代码的时间,随着AI的不断完善,我们软件工程专业的学生应该何去何从,我们必须按照建民老师的要求不断精进自身技能,从软件工程师向软件架构师和软件设计师的方向努力发展:
一、数据库设计文件(SQL)
创建warehouse.sql文件:
执行建表语句创建仓库表,字段包括:
warehouse_code(主键,varchar20)
name(varchar100)
address(varchar200)
admin(varchar50)
capacity(int)
status(varchar20,默认active)
添加唯一索引确保仓库编码唯一
二、Java实体类
创建Warehouse.java:
包含与数据库表对应的字段
实现getter/setter方法
添加@Table和@Column注解映射表结构
三、数据访问层
创建WarehouseDAO.java接口:
定义CRUD基本方法
新增查询方法:
List getAll()
Warehouse getByCode(String code)
boolean checkHasMaterials(String code)
四、业务逻辑层
创建WarehouseService.java:
实现仓库管理业务规则:
addWarehouse():校验编码唯一性
deleteWarehouse():调用DAO检查库存情况
updateWarehouse():禁止修改编码,检查库存
处理异常情况并抛出业务异常
五、Web控制层
创建WarehouseController.java:
映射请求路径:
/warehouse/list(GET展示列表)
/warehouse/add(POST新增)
/warehouse/edit/{code}(GET/POST修改)
/warehouse/delete(POST删除)
处理参数绑定和表单验证
返回JSON响应或视图模板
六、前端页面(JSP/Thymeleaf)
warehouse_list.html:
显示表格展示所有仓库信息
包含新增按钮和操作列(编辑/删除)
集成数据表格插件实现分页排序
warehouse_form.html:
通用表单页面包含:
编码输入框(新增时启用/修改时禁用)
名称、地址、管理员等输入项
容量数字输入框
状态下拉选择
集成前端验证框架
七、验证逻辑实现
删除校验:
在Service层调用DAO的checkHasMaterials方法
执行SQL:SELECT COUNT() FROM material_ledger WHERE warehouse_code=?
结果>0时抛出"仓库存在物资不可删除"异常
唯一校验:
新增时DAO执行SELECT COUNT(
) FROM warehouse WHERE warehouse_code=?
结果>0时提示"仓库编码已存在"
八、页面交互
列表页操作:
删除按钮触发AJAX请求,接收失败提示时弹出Toast
编辑按钮跳转时携带仓库编码参数
新增成功自动刷新列表
九、安全控制
在Controller添加@PreAuthorize("hasRole('ADMIN')")
页面菜单根据登录角色动态渲染
十、测试用例
创建WarehouseServiceTest.java:
测试新增重复编码场景
测删除有库存仓库场景
测试修改编码操作预期失败
开发环境要求:
IDEA创建Maven Web项目
配置Tomcat 9+服务器
连接MySQL 8.0数据库
使用Spring Boot+MyBatis Plus框架
页面模板采用AdminLTE 3.x
文件结构示例:
src/main
├─java/com/company/warehouse
│ ├─controller
│ ├─service
│ ├─dao
│ └─entity
├─resources
│ ├─mappers/WarehouseMapper.xml
│ └─static/css (模板资源)
└─webapp/WEB-INF/views/warehouse
├─list.html
└─form.html

 posted on 2025-03-05 21:18  敝屣  阅读(46)  评论(0)    收藏  举报