我的自然语言描述(我用的是豆包)
我现在要实现一个基于servlet、jsp、mybatis的maven仓库管理系统,其中数据库是mysql
首先创建数据库表,仓库表(支持多个仓库,每个仓库具有唯一编码);
(2)物资台账明细表(除了需求描述的要求外,需要有台账编号(唯一标识,四位年两位月两位日+顺序号(四位)例如:202402210022),操作类别(入库或者出库)数量,计量单位,存放地点(仓库号)等基本信息);
(3)物资类别表:需要满足不同的物资名称、规格、材质的物资不能设立相同的物资编码;
创建三个表之后在项目的pojo层下创建对应的实现类
然后再util层定义sqlSessionFactory
之后在mapper层创建对应的mapper接口并在resource目录下创建对应的mapper接口的xml文件,其中简单的操作用注解的形式实现
在之后再service层下创建实现mapper接口定义方法并在service层下创建impl包,在impl包下创建service实现类实现方法调用mapper层的方法
最后在servlet层中每一个类(后缀为servlet)继承BaseServlet实现所要求的功能结合前端页面
前端在Webapp目录下创建对应的前端jsp页面,发送响应请求给后端
代码要求将前后端连接起来,能够在tomcat服务器下部署
以下是相关功能要求
3.仓库基本信息管理功能
3.1新增仓库:增加新的仓库信息;。(补充仓库其余基本信息)。
5.2删除仓库:删除仓库基本信息时,必须验证没有相关物资存储在该仓库中,提示用户不允许删除。
5.3修改仓库:仓库编号唯一不允许修改,并且验证没有相关物资存储在该仓库中,否则不允许修改仓库信息。
4、物资类别基本信息管理
4.1新增物资类别:需要验证物资分类编码唯一,不同的物资名称、规格、材质的物资不能设立相同的物资编码两个条件,满足才可添加;
4.2删除物资类别信息:删除物资类别基本信息时,验证物资台账明细表中是否存在该类物资,如果存在提示用户不允许删除。
4.3修改物资类别基本信息:物资类别编号唯一不允许修改,并且验证物资台账明细表中是否存在该类物资,如果存在不允许修改该物资类别信息。
5、仓库管理功能
5.1入库操作:每类物资进行入库操作时,需要单独生成一条台账明细记录,保证相同的物资存放到同一仓库中,新物资入库时,则需要仓库人员选择存放仓库。
5.2仓库人员进行出库操作时,选择物资类别,自动显示该类物资的数量余额,如果输入出库数量大于库存余额,提示用户无法进行出库,要求修改出库数量,单独生成一条台账明细记录。
5.3仓库人员可输入物资编码查询该类物资的库存信息,显示物资类别编码、库存余额、计量单位,存放仓库等基本信息,点击该类物资编码,可以查看该类物资的详细入库单信息和出库单信息。 (查询条件为物资编码,显示该类物资的库存详细信息,点击显示该类库存的入库和出库流水记录)
以下是初步生成的代码情况(太多不一一列举)
代码生成问题:
对于已经生成的代码是没有问题的,关于数据库sql语句,实现类等等,但是对于数据库表的分析不够到位,一些功能难以实现,其次就是由于他必须依赖我的自然语言去生成,比如项目中的mapper层用注解实现简单的sql语句,我没有说明创建对应的xml文件,他也没有创建,这显然是错误的。(但是生成的是没有问题的)在之后就是前端部分,生成的界面过于简单,还需要再次输入命令优化界面,然后就是前后端无法连接,即能够正常运行但是无法实现对表的操作,由于全都是由ai生成的,尽管代码类似,但化了大量时间仍然无法解决问题,最后就是对于简单的功能它能够在后端实现,但是比较复杂的功能却跟之前学的不太一样,而且跟要求的也没按要求完成。
总之,用ai生成简单的增删改查功能还是非常简单的,能很快生成出来并运行,但是要要将功能实现前后端连接还需要再修改修改再修改,这也进一步说明ai不是万能的,自己还是需要加强练习 ,掌握熟练后,自己的逻辑分析清晰之后才能更好地运用ai助手。