Spring Boot:在springboot中整合mybatis查询,并将数据展示在渲染模板freeMarker上 - Go语言中文社区

Spring Boot:在springboot中整合mybatis查询,并将数据展示在渲染模板freeMarker上


上一篇博客讲到了怎样在Idea上搭建springboot,这次主要讲如何使用springboot来整合Mybatis,以及渲染模板的使用。

1. 首先要整合mybatis以及使用渲染模板创建springboot时要选择一些依赖,如下图标记所示:

在这里插入图片描述
在这里插入图片描述

选定之后就可以创建项目了,当然不选也是可以的,不过要手动导入依赖。

2.然后再来看一下项目结构:

在这里插入图片描述
其实跟ssm的结构没啥区别,还有一些package的作用上一期也讲到了。图中最令人新奇的可能是那几个ftl文件,这就是springboot的渲染模板之一的freemarker,因为springboot是不推荐使用jsp的。一般都是用渲染模板,有好几种有兴趣的同学可以自行去了解。

3.看完的项目结构就来讲一下如何使用mybatis,其实mvc三层的写法跟ssm是没有区别的,区别就在于配置的东西不一样了。就先直接贴出yml的配置文件了:

server:
  port: 8899 #端口号
  servlet:
    context-path: /ssm #访问路径
#配置数据库连接池
spring:
  datasource:
    username: root  #数据库用户名
    password: tiger @数据库密码
    #数据库连接地址 ’serverTimezone‘是设置与服务器时间同步。
    url: jdbc:mysql://localhost:3306/oracle?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false 
    driver-class-name: com.mysql.cj.jdbc.Driver #数据库连接驱动

mybatis:
  type-aliases-package: com.zs.springboot_03.model #mybatis别名
  mapper-locations: classpath:com/zs/springboot_03/model/*.xml @mapper扫描器

sprigboot的配置文件有两种格式:yml与properties,我这里用的是yml的格式,因为我觉得这种格式比properties要整洁规范,所以比较喜欢。上面的配置文件没有太多需要解释的地方,看注释就行(复制代码之后记得把注释删掉,因为yml里面写注释会报错,我这里是方便讲解加的注释)。其他mvc的写法与ssm没区别就不贴出来了。

4.最后来说一下怎么使用sprigboot的渲染模板freemarker:

首先还是要在yml中配置渲染模板,先直接贴代码:

spring:
  freemarker:
    #指定HttpServletRequest的属性是否可以覆盖controller的model的同名项
    allow-request-override: false
    #req访问request
    request-context-attribute: req
    #后缀名freemarker默认后缀为.ftl,
    suffix: .ftl
    #设置响应的内容类型
    content-type: text/html;charset=utf-8
    #是否允许mvc使用freemarker
    enabled: true
    #是否开启template caching
    cache: false
    #设定模板的加载路径,多个以逗号分隔,默认: [“classpath:/templates/”]
    template-loader-path: classpath:/templates/
    #设定Template的编码
    charset: UTF-8

下图是完整的application.yml:
在这里插入图片描述
自行删掉注释就行。

然后就可以在templates中创建ftl文件了,新创建的ftl文件是一片空白,直接将一个html空白模板拷进去使用就行了:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
  
 </body>
</html>

创建好模板后再来说一下模板的指令:

先将controller层的数据传过来,

   @RequestMapping("/test")
    public String test(HttpServletRequest request, Model model, Map map){
        System.out.println("index");
        request.setAttribute("kk","Faker大魔王");
        model.addAttribute("list",stuService.findStu());
        map.put("sex",0);
        map.put("arr",new int[]{7,9,2,3,5,0,9,7});
        return "index";
    }

然后就在模板中使用指令将数据展示:

<body>
    <#include "head.ftl">

    <h1>freemarker</h1>
    ${kk}<br>

<#-- 模板指令 判断 if-->
  <#if sex==0>
        男
    <#elseif sex==1>
        女
    <#else>
        其他
    </#if>

    <#list arr as lw>
        ${lw}
    </#list>
<br>
   <#list list as li>
        ${li.sname}----${li.sage}
    </#list>
    <hr/>


<a href="/getJson">nice</a>
    <input type="button" onclick="javascript:alert('aaa')">

    <#include "admin/foot.ftl">
</body>

数据显示如下图:
在这里插入图片描述
有点乱,不过没什么影响。<#>用来定义指令,这里主要使用到了list,if与include,还有很多其他的可以自己去了解。到这里使用mybatis的freemarker也就讲完了,都比较简单。就是配置文件不太一样。

下面还有写关于springboot的资料,有兴趣的同学可以下载,但好像没有0积分选项,下载需要用到一个积分。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42201350/article/details/84332772
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 10:51:07
  • 阅读 ( 1070 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢