您现在的位置是:今夕何夕> JAVA 文章详情
jFinal enjoy 模板语法搞定sql查询
久伴轻尘
2019-09-08 19:54
【JAVA】
0人已浏览

一:jFinal enjoy语法基础学习
#sql() | 定义sql模板 |
#namespace() | 指定命名空间,不同的命名空间可以让#sql指令使用相同的key值去定义sql,有利于模块化管理 |
#if() | 判断语句 需要以#end结尾 |
#para() | 得到参数 |
#define xxx() | 定义一个可以被调用的方法 |
#@ xxx() | 可以调用#define 定义的方法 |
二:在config中加入配置
arp.addSqlTemplate("admin.sql");
三:定义模板语法
-
#namespace定义文章sql文件key值
###文章
#namespace("news")
#include("sql/news.sql")
#end
-
#sql初体验
#sql("list")
SELECT
`blog_news`.*
FROM
blog_news AS `blog_news`
#end
-
#define搞定where 动态条件查询
#define newsWheres()
#if(id)
AND `blog_news`.newsId=#para(id)
#end
#if(categoryId)
AND `blog_news`.categoryId=#para(categoryId)
#end
#if(authorName)
AND `admin_user`.userName LIKE concat('%',#para(authorName),'%')
#end
#if(title)
AND `blog_news`.title LIKE concat('%',#para(title),'%')
#end
#if(recommend)
AND `blog_news`.recommend=#(recommend)
#end
#end
-
#@调用newsWheres()
#sql("list")
SELECT
`blog_news`.*
FROM
blog_news AS `blog_news`
WHERE 1=1
#@newsWheres()
#end
四:进行sql调用
-
getKv()获取查询条件
public void page() throws Exception{
//news.list news==>#namespace("news") list ==>#sql("list")
newsService.page("news.list", 1, 10, getKv());
}
-
paginate进行分页查询
public Page<Record> page(String sqlKey, int pageNum, int limit, Kv kv) throws Exception {
return Db.template(sqlKey, kv).paginate(pageNum, limit);
}