本期视频做了一个博客的首页列表;
内容简介:springboot 集成 beetlsql;使用for循环,使用if控制语句,使用虚拟属性,定义变量等等
一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598
作者:GK
集成BeetlSql,用来查询数据库
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version>
</dependency>
application.properties中增加数据库配置
spring.datasource.url=jdbc:mysql://mysql:3306/blog?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true
spring.datasource.username=root
spring.datasource.password=8975789757
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
增加数据源配置类
package com.ibeetl.blog.config;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
/**
* @author GavinKing
* @ClassName: DBConfig
* @Description:
* @date 2018/11/18
*/
@Configuration
public class DBConfig {
@Bean(name = "datasource")
public DataSource datasource(Environment env) {
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(env.getProperty("spring.datasource.url"));
ds.setUsername(env.getProperty("spring.datasource.username"));
ds.setPassword(env.getProperty("spring.datasource.password"));
ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
return ds;
}
}
修改模板文件为html结尾
配置模板文件为html 结尾,在application.properties中增加配置
beetl.suffix=html
变量
临时变量:使用var 定义;类似js语法;
全局变量:整个模板都能访问的变量;通过 template.bind("key",object)去定义
共享变量:所有的模板都能访问的变量;通过
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
Map<String,Object> shared = new HashMap<String,Object>();
shared.put("name", "beetl");
gt.setSharedVars(shared);
去定义。
模板变量:相当于用一个变量表示一段模板或者代码;
<%
var content = {
var c = "1234";
print(c);
%>
模板其他内容:
<% }; %>
循环语句
for循环,支持 for-in和for(exp,exp,exp)
for(blog in page.list){
....
}
for(var i=0;i<page.list.~size){
page.list[i]....
}
其他循环语句
var i = 0;
while(i<5){
print(i);
i++;
}
//--------elsefor用法,如果for没有进行循环时执行----------
var list = [];
for(item in list){
}elsefor{
print("未有记录");
}
条件语句
var a =true;
var b = 1;
if(a&&b==1){
}else if(a){
}else{
}
//---------switch-------
var b = 1;
switch(b){
case 0:
print("it's 0");
break;
case 1:
print("it's 1");
break;
default:
print("error");
}
//---------select,更加强大的switch-------
var b = 1;
select(b){
case 0,1:
print("it's small int");
case 2,3:
print("it's big int");
default:
print("error");
}
//-----------
var b = 1;
select{
case b<1,b>10:
print("it's out of range");
break;
case b==1:
print("it's 1");
break;
default:
print("error");
}
时间格式化
${date,"yyyy-MM-dd"}
这样就能格式化时间了,嗯,超简单
项目git地址:https://gitee.com/gavink/beetl-blog
视频地址:下载下来会更清晰,说话比较慢,建议 1.2x倍速播放
百度网盘下载: https://pan.baidu.com/s/1LyxAxlKpVXgVjwSXIbzBuA 提取码: 68im
bilibili (可以调节清晰度): https://www.bilibili.com/video/av36278644/?p=2
博客目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598