Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用SQL语法连接列表的Java-API_Java_Sql_List_Api_Join - Fatal编程技术网

用SQL语法连接列表的Java-API

用SQL语法连接列表的Java-API,java,sql,list,api,join,Java,Sql,List,Api,Join,我想知道是否有用于加入列表并生成新列表的Java API: 例: 注1:$X或其别名tX表示我们的listX对象,按参数的顺序,$X。调用对象的getter或使用属性的名称或使用属性的注释,其中包含名称 注2:Type1、Type2、Type3、Type4不是来自同一个家族没有继承我以前在Java中没有见过这种API,可能是C?中的LINQ,因此我决定创建自己的Java API,用于使用SQL查询操作Java bean 看看它是如何工作的: import fr.ekinci.dbmsreplic

我想知道是否有用于加入列表并生成新列表的Java API:

例:

注1:$X或其别名tX表示我们的listX对象,按参数的顺序,$X。调用对象的getter或使用属性的名称或使用属性的注释,其中包含名称


注2:Type1、Type2、Type3、Type4不是来自同一个家族没有继承

我以前在Java中没有见过这种API,可能是C?中的LINQ,因此我决定创建自己的Java API,用于使用SQL查询操作Java bean

看看它是如何工作的:

import fr.ekinci.dbmsreplication.inmemorysql.InMemorySQL;
//...

String sqlRequest = "SELECT t1.id_d1, t1.attr2, t1.attr3, t2.id_d2, t2.attr4, t3.id_d3, t3.attr5 " +
    " FROM t1" +
    " LEFT JOIN t2" +
    " ON t1.id_d1 = t2.id_d1" +
    " LEFT JOIN t3" +
    " ON t2.id_d2 = t3.id_d3" +
    " ORDER BY t1.id_d1, t2.id_d2, t3.id_d3";

List<Dumb1> ldb1 = new ArrayList<>(); // fill it
List<Dumb2> ldb2 = new ArrayList<>(); // fill it
List<Dumb3> ldb3 = new ArrayList<>(); // fill it

Collection<ReturnDumb> result = new InMemorySQL()
    .add(Dumb1.class, ldb1) // ldb1 alias will be t1
    .add(Dumb2.class, ldb2) // ldb2 alias will be t2
    .add(Dumb3.class, ldb3) // ldb3 alias will be t3
    .executeQuery(ReturnDumb.class, sqlRequest);

它仍处于测试阶段,.

我以前在Java中没有见过这种API,可能是C?中的LINQ,因此我决定创建自己的Java API,用于使用SQL查询操作Java bean

看看它是如何工作的:

import fr.ekinci.dbmsreplication.inmemorysql.InMemorySQL;
//...

String sqlRequest = "SELECT t1.id_d1, t1.attr2, t1.attr3, t2.id_d2, t2.attr4, t3.id_d3, t3.attr5 " +
    " FROM t1" +
    " LEFT JOIN t2" +
    " ON t1.id_d1 = t2.id_d1" +
    " LEFT JOIN t3" +
    " ON t2.id_d2 = t3.id_d3" +
    " ORDER BY t1.id_d1, t2.id_d2, t3.id_d3";

List<Dumb1> ldb1 = new ArrayList<>(); // fill it
List<Dumb2> ldb2 = new ArrayList<>(); // fill it
List<Dumb3> ldb3 = new ArrayList<>(); // fill it

Collection<ReturnDumb> result = new InMemorySQL()
    .add(Dumb1.class, ldb1) // ldb1 alias will be t1
    .add(Dumb2.class, ldb2) // ldb2 alias will be t2
    .add(Dumb3.class, ldb3) // ldb3 alias will be t3
    .executeQuery(ReturnDumb.class, sqlRequest);
它还在测试阶段