jeesite学习笔记——主从表及表间传值(一对多)
条评论一,自动生成框架:
注意要在生成表前,要在jeesite.properties文件中修改数据库用户名和密码,同时修改最后一行的文件生成路径,每一个符号:
和\
前加\
1. 如下图所示,设计两张表:
![]() |
1.设计两张表 tob_case和tob_logistics tob_case是父表 tob_logistics 是子表 子表调用父表的数据,不能改变父表的任何内容 调用数据的所有操作都在子表的代码中进行 |
2. 代码自动生成:(图片可点击放大)
![]() |
![]() |
1.代码生成模块 2.业务表配置 3.业务表添加 4.添加需要生成的数据表 |
![]() |
![]() |
1.更改说明为表头 2.如果有父表就更改,没有就不改 3.子表中要添加父表表名和外键 4.修改外键的Java的属性名称为父表中连接的字段 |
![]() |
1.在一对多中,如果需要在系统页面中显示子表的信息,则在生成方案中必须先添加子表的方案; 2.如果不需要显示子表信息,就不用添加子表方案; 3.在子表方案添加完成后就点击保存并生成代码 |
|
![]() |
1.如果需要显示子表的信息,就必须先完成子表的生成代码,然后在生成父表的代码,注意模板分类要选择增删查改一对多 |
3,效果图:
二,表间传值(专业表a和学院表b):
![]() |
注意:这里的学院名称和学院代码都有具体内容 |
![]() |
这里的专业名称和专业代码都有具体内容,而学院编号是学院表的id |
1.在a表信息添加页面中通过下拉框调取b表的数据
效果截图:
1.1 由于a表中的“学院编号”存的是b表的id,而这里要通过id调取b表中“学院编号”数据,需要在实体表中添加一个变量用于接收这个“学院编号”数据值
1.2 在sql文件即dao.xml中与b表通过id建立连接,把b表的“学院编号”字段值传递给a的实体表的新增变量xydm
1.3 在a表的controller.java文件中,注入b表的service层,然后在页面请求(form)方法中,增加一个传值的方法
1 |
|
1 | public String form(DemoMajor demoMajor, Model model) { |
1.4 在a的form.jsp文件中,在需要调取b表值的DIV模块中增加联系 - 通过下拉框调取b表的传值而不是自己填写
1 | <form:select path="schoolXydm" class="input-mini"> |
1.4.1 itemlabel
属性值具体作用:(xydm和name都是b表数据库中的字段),指向b表中要调取的字段
![]() |
![]() |
![]() |
![]() |
1.5 此时页面中“学院编号”一栏显示的还是id值,需要在表单文件(list.java
)中把传递的id值换成新增的变量xydm
![]() |
![]() |
![]() |
![]() |
2.在a表的表单页面中添加显示b表的数据内容
截图:
1.由于a表的Java实体类文件和数据库中没有“学院名称”的变量,而页面要显示这个值就要在实体表中添加一个用于接收的变量
2.后面的步骤基本类似于上面的表间传值,同样都需要修改list、xml等文件的一些内容,以做到传值的效果,唯一多的一步就是在list中添加一个“学院名称”的栏目
list.java文件 | xml文件 |
---|---|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |