普通多表查询语句:
SELECT n0.*,t0.* FROM T_NAME n0,T_TITLE t0 WHERE n0.ID = t0.SID
IMultiQuery multiQuery = new MultiQueryImpl();
AliasTable nameTable = multiQuery.table(Name.class);
AliasTable titleTable = multiQuery.table(Title.class);
multiQuery.whereEqual(nameTable.c(Name.T_ID), titleTable.c(Title.T_SID));
multiQuery.createQuery(Map.class,
nameTable.c(Expression.EXPRESSION_ALL),
titleTable.c(Expression.EXPRESSION_ALL));
List<Map> list = nameService.query(multiQuery);
System.out.println("---------------defeult select----------");
for(Map map : list) {
System.out.println(map);
}
查询结果:
内连接查询语句:
SELECT n0.*,t0.* FROM T_NAME n0 INNER JOIN T_TITLE t0 ON n0.ID = t0.SID
IMultiQuery multiQuery = new MultiQueryImpl();
AliasTable nameTable = multiQuery.table(Name.class);
AliasTable titleTable = multiQuery.join(Title.class);
multiQuery.join(
new Join(titleTable, JoinType.INNER_JOIN).
on(nameTable.c(Name.T_ID), titleTable.c(Title.T_SID)));
multiQuery.createQuery(Map.class,
nameTable.c(Expression.EXPRESSION_ALL),
titleTable.c(Expression.EXPRESSION_ALL));
List<Map> list = nameService.query(multiQuery);
System.out.println("---------------inner join----------");
for(Map map : list) {
System.out.println(map);
}
查询结果:
