SQL 模板

简介

SQL Template 是一个用于获取 SQL 查询的工具类,内置在 java-db 中。

使用方法

添加 SQL 文件

首先,在项目中创建以下 SQL 文件:

  1. 主 SQL 模板文件
    路径: src\main\resources\sql-templates\main.sql

    --@ enote_note.sql
    
  2. SQL 文件
    路径: src\main\resources\sql-templates\enote_note.sql

    --# enote_note.queryUserTag
    SELECT * FROM enote_note n
    LEFT JOIN enote_note_tag nt ON n.id=nt.note_id
    WHERE n.user_id=? AND nt.tag_id=? AND n.status=1
    

语法说明

  • --@ 表示导入文件。
  • --# 用于定义 SQL 查询。
  • 注意:注释符号后面的空格是必须的。

使用 SqlTemplates 获取 SQL 代码

import com.litongjava.jfinal.plugin.template.SqlTemplates;

public class SqlTplsTest {

  @Test
  public void test() {
    SqlTemplates.load("sql-templates/main.sql");
    String sqltemp = SqlTemplates.get("enote_note.queryUserTag");
    System.out.println(sqltemp);
  }
}

配合数据库工具类执行 SQL

String sqltemp = SqlTemplates.get("enote_note.queryUserTag");
log.info("userId:{} tagId:{}", userId, tagId);
List<Record> finds = Db.find(sqltemp, userId, tagId);
log.info("size:{}", finds.size());

如果不使用 SqlTemplates.load 加载文件,默认加载的文件是 sql-templates/main.sql