main
黄海 9 months ago
parent ff98dca6b5
commit f44ecdb795

@ -0,0 +1,59 @@
package com.dsideal.base.Test;
import com.dsideal.base.Plugin.YamlProp;
import com.jfinal.kit.Kv;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.SqlPara;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
import com.jfinal.plugin.activerecord.Record;
import java.io.File;
import java.util.List;
public class TestDataSet {
public static void main(String[] args) {
//加载配置文件
String configFile = "application_dataease.yaml";
Prop PropKit = new YamlProp(configFile);
HikariCpPlugin arpPlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
PropKit.get("mysql.password").trim(), PropKit.get("mysql.driverClassName"));
arpPlugin.start();
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin("master", arpPlugin);
arp.setDialect(new MysqlDialect());
//遍历sql目录下所有的sql文件
File sqlDir;
String basePath = TestDataSet.class.getResource("/").getPath();
sqlDir = new File(basePath + "/Sql");
File[] sqlFiles = sqlDir.listFiles();
for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) {
//只加载.sql文件
if (sqlFile.getName().indexOf(".sql") > 0) {
arp.addSqlTemplate("/Sql/" + sqlFile.getName());
}
}
arp.start();
//1、获取树根
SqlPara sqlPara = Db.getSqlPara("DataEase.getTreeRoot");
Record rRoot = Db.findFirst(sqlPara);
long rootId = rRoot.getLong("id");
//2、查询有哪些数据集
Kv kv = Kv.by("id", rootId);
kv.set("dataset",true);
sqlPara = Db.getSqlPara("DataEase.getAllDataSet", kv);
List<Record> list= Db.find(sqlPara);
for (Record record : list) {
long id= record.getLong("id");
String name= record.getStr("name");
System.out.println(name);
}
}
}

@ -0,0 +1,22 @@
#namespace("DataEase")
-- 获取树根
#sql("getTreeRoot")
select * from core_dataset_group where name like '云南省教科院项目';
#end
-- 获取所有的数据集
#sql("getAllDataSet")
WITH RECURSIVE tree_cte AS (
SELECT *
FROM core_dataset_group
WHERE id = #para(id) -- 根节点的id
UNION ALL
SELECT c.*
FROM core_dataset_group c
INNER JOIN tree_cte t ON c.pid = t.id
)
SELECT id ,name ,pid,node_type FROM tree_cte
#if(dataset)
where node_type='dataset'
#end
#end
#end

@ -0,0 +1,8 @@
mysql:
# 数据库信息
driverClassName: com.mysql.cj.jdbc.Driver
user: root
password: Password123@mysql
jdbcUrl : jdbc:mysql://10.10.14.203:3306/dataease?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
Loading…
Cancel
Save