Guns 第4节 用Guns开发

这样就会生成一个my_order的实体,

3个TTT这样的,这是因为我们没有用到mybatis plus的service层,controller层,所以我们不要他们的这三个代码,我们写成3个TTT,我们把这三个文件夹删掉就行了,

执行成功之后他会弹出一个文件夹,

然后我们把它删掉。

之后我们就可以看到common persistence里面就会生成一个

,这些都是可以直接用的,

下面,从这一步开始就是我们的业务编写了,guns有自己的代码生成器,我们可以利用guns的代码生成器生成一些重复的代码,不用我们手动去写,不用我们手动去写代码的框架,有代码生成器的话,我们不用复制新建controller,我们直接用代码生成器生成模板代码,我们从这里拿到生成器的主类,调用main方法,就可以生成模板代码了,

我们项目的地址,

这些开关很灵活的使用开关,需要使用哪个代码,不需要使用哪个代码,

这些开关一一对应了这些模板

如果你设置true,也是它默认的值,它生成的代码就会包含这些代码,比如第一个就会包含controller代码,如果设置成false的话就不会生成controller相关的代码

我们默认地都生成,然后我们直接执行一下它,看到提示,生成代码成功,order这个模块已经生成了,并且controller,mapping,service都已经写好了,但是这里面只有框架没有具体的内容,里面具体的内容需要我们手动去写,这个根据我们日常生产开发的需求还进行编写。

这节课我们进行一个订单业务的增删该查业务的开发,开发之前我们需要,如果不配置菜单和角色的话,我们生成的订单业务就不能被guns的权限管理系统管理起来,就是说所有的用户都能看到my_order表,

我们需要把订单相关的业务添加到菜单里面

然后让guns管理这些权限。

我们订单业务添加到一级菜单,假如说要添加到系统管理下面,怎么添加呢?

添加之后,我们还需要进行一步操作是配置相应的角色的权限,保存之后搜索

重新登陆一下我们可以看到,订单管理我们已经有了

这里就是代码生成的页面,什么都没有,只有一个框架,我们需要编写具体的业务,在执行完配置菜单和角色之后,我们就可以写具体的代码了

我们首先写一下列表,显示订单列表,我们找到相应的controller

怎么写呢,我们需要查一下数据库,我们可以调用mybatis plus提供的一些常用的方法,我们注入一个mybatis plus的刚才生成的一个dao

,我们拿到它之后,就可以调用一些方法了,我们可以看看到这里有很多现有的方法,这些都是mybatis plus提供的方法

方便我们查询增删该查的操作,

假如说我们就这样写,

一个简单的查询操作就完成了,这个业务就是查询所有订单的意思。

写完之后我们需要写一些前台的业务,只写后台是不行的。

前台需要改哪里呢,首先是设置列,才可以显示数据,我们找到初始化表格的列这个方法

我们复制一些其他的列

这些字段要和数据库表中的数据保持一致

或者要跟查询出来的实体类属性名要保持一致。可见的。

我们可以看到,代码生成器给我们生成了非常多的模板代码,这些模板代码给我们生成了一些基础功能,让我们非常快速地开发出来简单的增删改查业务,

重新启动后登陆搜索,还是没有找到

没有查出来我们调试一下,

在数据库里面添加数据,再查询

假如说我们需要写一个按商品名称查询的业务,我们只需要接收到condition参数,如果condition参数不为空的话

我们走一下根据条件查询,我们还是需要用myOrderMapper.selectList(wraper:null);但是我们还需要new一个mybatis plus提供的EntityWrapper,

这个就是查询时候的条件可以用来找组装条件。like语句查询,这样拼接一下条件

然后我们把goods传到查询selectList里面,return一个myOrder,这样就拼接成一个条件了,这个方法就是相当于拼接了一个where,goods,like两个%加condition这样的一个语句,查询语句

我们试着编写一下新增订单,我们接收到MyOrder参数之后,把myOrder判断一下,如果myOrder不是null的话,我们给myorder设置属性值

假如说我们的商品名称,地点和用户名是传过来的,我们就不用设置。

同样的调用myOrderMapper这个dao,insert一下

这样后台的业务就写完了。

前台我们先写添加的页面,我们从别的页面里面摘抄一下,从用户管理里面摘抄三个input框,直接复制过来

,然后粘贴到order_add.html

id是就是字段的id,user,place,goods

我之前介绍过这个标签是对html的封装,这些标签的属性相当于封装的那一段被封装的html代码的属性,这些属性可以传到被封装的html里面,我们看一下input标签,找到相应的代码参数

比如说这个name,它是从哪儿来的呢,就是order_add.html里面的name传过去的

标签的详细用法建议大家通读一下beetl的文档,order_add.html页面写好之后,我们看一下页面提交的方法

然后我们看一下order_info.js,找到addSubmit方法

addSubmit方法已经给我们生成好了,然后他的第一个方法是,就是清空一下之前的缓存的数据,

这个js对象是一个单例的

清空一下它,初始化这个data,collectdata,赋值赋予哪些data呢?那些添加到表单的数据,

我们需要改哪些呢,collectData需要改,我们需要收集数据,收集数据就需要用到set方法,,这样一个链式的调用,就可以收集到我们需要的user,place,还有goods。

js编写好了之后,在页面上我们可以看到没有添加按钮,我们需要把他配出来。

我们先看一下order.html页面

大家可以看到有了这个添加按钮了,为什么没写出来?是因为我们没有配置相应的菜单

没有相应的菜单的话,当前用户就没有相应的权限,所以没有显示出来,我们需要在菜单管理里面添加

一定要和这里一样

这个地址是从这里来的

刚才设置菜单没有添加角色

写完之后重新登陆

我们改了一些代码,需要重启,再登陆

添加成功

猜你喜欢

转载自blog.csdn.net/zerolaw/article/details/81064948