基于ssm+vue的综合项目 健康体检管理系统-第六章
作者:互联网
移动端开发对体检预约进行的查询
- 当页面加载完毕时,利用vue的钩子函数
- 已加载页面就直接查询数据将数据进行渲染
created() {
axios.post("/setmeal/getSetmeal.do").then((response) => {
if (response.data.flag) {
this.setmealList = response.data.data;
} else {
this.$message.error(response.data.message);
}
});
}
根据套餐查询套餐信息和检查组、检查项的信息
- 点击套餐前台进行js截取id以及传递的参数传递给后台
- 后台接受到数据就进行查询
- 由于传递到后台的只有一个id
- 这里需要多表查询需要使用到mybatis的高级特性
/**
* 查询套餐的基础信息
* @param id 套餐的id
* @return 套餐实体类
*/
Setmeal findAssociationById(Integer id);
<!--查询套餐的基础信息-->
<resultMap id="SetmealResultMap" type="com.itheima.pojo.Setmeal">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="helpCode" property="helpCode"/>
<result column="sex" property="sex"/>
<result column="age" property="age"/>
<result column="price" property="price"/>
<result column="remark" property="remark"/>
<result column="attention" property="attention"/>
<result column="img" property="img"/>
</resultMap>
<resultMap id="findByIdResult" type="com.itheima.pojo.Setmeal" extends="SetmealResultMap">
<collection
property="checkGroups"
ofType="com.itheima.pojo.CheckGroup"
javaType="java.util.List"
column="id"
select="com.itheima.dao.CheckgroupDao.findCheckgroupBySetmealId"/>
</resultMap>
<select id="findAssociationById" resultMap="findByIdResult">
select id,
name,
code,
helpCode,
sex,
age,
price,
remark,
attention,
img
from t_setmeal where id=#{id}
</select>
-
select * from t_setmeal
-
查询套餐的基础信息,将查询出来的结果的id
-
传递到CheckgroupDao的findCheckgroupBySetmealId
-
CheckGroup findCheckgroupBySetmealId(Integer id);
<!--根据套餐的id查询检查组的对应的id的信息-->
<resultMap id="CheckgroupResult" type="com.itheima.pojo.CheckGroup">
<id column="id" property="id"/>
<result column="code" property="code"/>
<result column="name" property="name"/>
<result column="helpCode" property="helpCode"/>
<result column="sex" property="sex"/>
<result column="remark" property="remark"/>
<result column="attention" property="attention"/>
</resultMap>
<resultMap id="findCheckgroupById" type="com.itheima.pojo.CheckGroup" extends="CheckgroupResult">
<collection
property="checkItems"
javaType="java.util.List"
ofType="com.itheima.pojo.CheckItem"
column="id"
select="com.itheima.dao.CheckItemDao.findCheckitemByCheckgroup"/>
</resultMap>
<select id="findCheckgroupBySetmealId" resultMap="findCheckgroupById">
select id, code, name, helpCode, sex, remark, attention
from t_checkgroup
where id in (select checkgroup_id from t_setmeal_checkgroup where setmeal_id = #{id})
</select>
- 根据套餐的id查询套餐和检查组的中间表的检查组的id
- 然后在根据检查组的id查询检查组的信息
SELECT * FROM t_checkgroup WHERE id in(SELECT checkgroup_id FROM t_setmeal_checkgroup where setmeal_id=12)
- 再将查询出来的id带到检查项去查询检查项的信息
<!--根据检查组的id查询检查项信息-->
<select id="findCheckitemByCheckgroup" resultType="com.itheima.pojo.CheckItem">
select id,
code,
name,
sex,
age,
price,
type,
attention,
remark
from t_checkitem
where id in (select checkitem_id from t_checkgroup_checkitem where checkgroup_id = #{id})
</select>
Freemaker入门案例
@Test
public void test1() throws Exception {
/*
1.创建freemarker的配置
Freemarker为了兼容不同版本,使用配置类的构造方法来创建不同的运行环境2.3.23
*/
Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);
/*
2.对配置进行配置 (配置模板的指定目录,使用类加载器获取ftl目录的路径)
*/
String ftlDirectory = FreemarkerTest.class.getResource("/ftl/").getPath();
//3.设置模板所在的目录
configuration.setDirectoryForTemplateLoading(new File(ftlDirectory));
//4.配置模板文件的默认字符集
configuration.setDefaultEncoding("utf-8");
//5.获取指定模板文件的对象
Template template = configuration.getTemplate("freemarkertest.ftl");
//6.构建出数据模型
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "kobe");
map.put("address", "beijing");
//7.生成静态化文件
FileWriter fileWriter = new FileWriter("d:/index.html");
template.process(map, fileWriter);
//释放资源
fileWriter.close();
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>freemarker入门案例</title>
</head>
<body>
你好${name},欢迎来到${address}。
</body>
</html>
标签:vue,查询,ssm,checkgroup,套餐,第六章,where,id,setmeal 来源: https://blog.csdn.net/weixin_45087693/article/details/112152809