大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂

今天,记录一篇技术文章吧,也是解决了好久才解决掉的(说来也惭愧)。

涉及技术

前端:vue,element ui

后端框架:bladex

其中后端涉及到的技术有:springboot,srping mvc,mybatis plus,shiro,SpringCloud

其实这个bladex封装的还是挺复杂的,有些地方你若是想在他的基础上扩展自己的些内容,能改到想吐,尤其是前端,而且官方的文档有和没有几乎都一样,说的一点都不详细……

需求说明

系统中有模板表template和模板类型表templatetype,两者关系是多对一的关系,也就是一个模板类型中有多个模板,在查询展示所有模板信息的时候需要显示的是模板类型名而不是类型编号,如图所示:

乍一看是不是很简单,只需要在mybatis的mapper文件中配置双方之间的映射关系就可以,我刚开始也是这么想的,但是配置完之后发现不可以,模板类型名显示不出来。

然后换了一种思路,原理就是在查询模板的同时,按照模板表的外键查询模板名,赋值给TemplateVo类中,然后在前端获取。

思路三言两语就说完了,但是做起来确实麻烦,下面看看如何实现的(也算是做个记录,忘记了回头看看)。

前端

首先是前端的template.vue页面,修改column中的模板类型相关内容:

column: [{label: "模板编号",prop: "id",hide:true,rules: [{required: true,message: "模板编号",trigger: "blur"}]},{label: "模板名称",prop: "tname",rules: [{required: true,message: "请输入模板名称",trigger: "blur"}]},{label: "类型",prop: "typename",hide:false,rules: [{required: true,message: "请输入类型",trigger: "blur"}]},{label: "目标",prop: "tmubiao",rules: [{required: true,message: "请输入目标",trigger: "blur"}]},{label: "强度",prop: "tqiangdu",rules: [{required: true,message: "请输入强度",trigger: "blur"}]},{label: "备注",prop: "tbeizhu",rules: [{required: true,message: "请输入备注",trigger: "blur"}]},{label: "创建者",prop: "userName",rules: [{required: true,message: "请输入创建模板的人",trigger: "blur"}]},{type: 'date',label: '创建时间',display: true,format: "yyyy-MM-dd hh:mm:ss",valueFormat: "yyyy-MM-dd hh:mm:ss",prop: 'tdate'},]

前端其余都不用在改动了。

后端

1.在模板类型的mapper文件TemplatetypeMapper中新加根据编号查询名称的接口:

/*** 根据编号查询接口* @param id* @return*/String typeNameList (Integer id);

2.在模板类型的配置文件TemplatetypeMapper.xml中添加sql映射:

<select id="typeNameList"  resultType="string">select typename from hbv_templateType where id = #{id}</select>

3.在TemplateVo中新加字段:

//模板类型名private String typename;

4.在ITemplatetypeService中添加如下接口:

/*** 根据编号查询名称* @param id* @return*/String typeNameList (Integer id);

5.在TemplatetypeServiceImpl中添加对ITemplatetypeService的实现:

@Overridepublic String typeNameList(Integer id) {return baseMapper.typeNameList(id);}

6.在TemplateWrapper文件中添加如下代码:

//模板类型的业务接口private static final ITemplatetypeService templatetypeService;//用户的业务接口private static final IUserService userService;static{templatetypeService = SpringUtil.getBean(ITemplatetypeService.class);userService = SpringUtil.getBean(IUserService.class);}@Overridepublic TemplateVO entityVO(Template template) {TemplateVO templateVO = Objects.requireNonNull(BeanUtil.copy(template, TemplateVO.class));String typename = templatetypeService.typeNameList(template.getTypeid());String userName = userService.getUserNameById(template.getTcid());//String userName =templateVO.setTypename(typename);templateVO.setUserName(userName);return templateVO;}

7.最后修改控制器中的list方法:

/*** 分页 模板表*/@GetMapping("/list")@ApiOperationSupport(order = 2)@ApiOperation(value = "分页", notes = "传入template")public R<IPage<TemplateVO>> list(Template template, Query query) {QueryWrapper<Template> queryWrapper= Condition.getQueryWrapper(template);IPage<Template> pages = templateService.page(Condition.getPage(query), queryWrapper);return R.data(TemplateWrapper.build().pageVO(pages));}

好了,至此终于完事了,运行,就可以了!!!

利用bladex+avue实现一对多的关系相关推荐

  1. 利用bladex+avue实现下拉数据源展示

    " 大家好,我是雄雄,欢迎关注微信公众号:????雄雄的小课堂???? " 昨天给大家整理了下如何使用bladex实现多表查询的方法,今天我们趁热打铁,顺便看看下拉列表的实现. 需 ...

  2. java框架篇---hibernate(一对多)映射关系

    一对多关系可以分为单向和双向. 一对多关系单向 单向就是只能从一方找到另一方,通常是从主控类找到拥有外键的类(表).比如一个母亲可以有多个孩子,并且孩子有母亲的主键作为外键.母亲与孩子的关系就是一对多 ...

  3. Java初学者疑难杂症之:一对一和一对多的关系

    2019独角兽企业重金招聘Python工程师标准>>> [威哥说]作为一个程序员,我们每天都在"搞"对象,额,"用"对象,感觉那个词都不太好, ...

  4. java一对一关系_Java初学者疑难杂症之:一对一和一对多的关系

    [威哥说]作为一个程序员,我们每天都在"搞"对象,额,"用"对象,感觉那个词都不太好,还是继续向下说,对象之间的关系有的是一对一的,也有一对多的(现实中有才好) ...

  5. ERWIN中的一对多标识关系和一对多非标识关系

    标识关系,实线表示 非标识关系,虚线表示 实心圆端所在的那端为一对多关系中的多的那端         PASSENGER:                    乘客表         FLIGHT: ...

  6. 如何利用CRM软件建立有利可图的客户关系?

    客户关系管理(CRM)技术彻底改变了企业与客户的接触方式.不过,在投资CRM之前,业务主管应该了解如何使用CRM软件建立客户关系,进而提高业务盈利能力. 为什么要建立客户关系? 在一些企业中,客户关系 ...

  7. hibernate中一对多表关系操作(7)

    1.基本操作,保存客户.联系人,并设置它们的关联 public void test01(){Session session = HibernateUtils.OpenSession();Transac ...

  8. django 的 一对多的关系

    USERINFO 用户详情表 USERTYPE 用户类别表 UserType是父表,UserInfo是子表, user_type 是 关联字段 就是新增资源的时候,又对数据库重新查询一遍,太消耗资源了 ...

  9. php数据关系图,如何利用navicat查看数据表的ER关系图

    文章背景: (相关推荐:navicat) 由于工作需要,现在要分析一个数据库,然后查看各个表之间的关系,所以需要查看表与表之间的关系图,专业术语叫做ER关系图. 默认情况下,Navicat显示的界面是 ...

最新文章

  1. “Attention is All You Need 翻译
  2. 计算机网络word文档,计算机网络word.doc
  3. 《信息学奥赛一本通》分治算法 找数 例题
  4. cmd进入控制Mysql出现乱码的问题
  5. 红橙Darren视频笔记 bsdiff bspatch 使用(Linux下)
  6. JDWP Transport dt socket failed to initialize
  7. matplotlib——在 Jupyter Notebook中绘制图像时只显示变量信息不显示图片
  8. Apache Tomcat部署多个项目
  9. 性能测试指标:吞吐量,qps,并发量,响应时间
  10. 经典软件项目源码汇总
  11. Java实现OPC通信
  12. lightoj1224 DNA Prefix
  13. 动态圣诞树html,圣诞了,送大家一颗HTML5圣诞树
  14. php微信段子,微信朋友圈有趣的段子 朋友圈配图
  15. jpg格式图片怎么缩小?如何压缩jpg图片?
  16. SmartRefreshLayout 下拉刷新上拉加载框架
  17. 新娘结婚前8天遇害 新郎抱遗照殡仪馆办婚礼
  18. Java_常瑞鹏 java_网络编程实现一个 聊天程序
  19. CrashReport
  20. javascript高级程序设计阅读收获(5.4.2)——Math

热门文章

  1. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)
  2. A Greeting from Qinhuangdao Gym - 102769A 2020ccpc秦皇岛分站赛
  3. A/B HDU - 1576 (逆元或拓展欧几里得或数学公式)多解法求大数结果
  4. elasticSearch -- (文档,类型,索引)
  5. 网络编程-HTTPS协议的实现原理
  6. php+换行+php+eol,PHP PHP_EOL 换行符
  7. 数据结构---基数排序
  8. 归并排序算法 C++
  9. E. Almost Sorted(构造,递归)
  10. E. Beautiful Subarrays(思维 01 trie 树)