基于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>

来源:https://www.icode9.com/content-4-808601.html

(0)

相关推荐