JFinal多表联查跨数据库

本文介绍了一种使用Java进行跨数据库查询的方法,并实现了基于查询结果的分页功能。通过具体的代码示例展示了如何从两个不同的数据库中联表查询数据,并通过限制查询结果的数量来实现分页显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List<Record> list = Db.find("SELECT\n" +
      "  a.equipment_name,\n" +
      "  b.ename,\n" +
      "  a.enclosure\n" +
      "FROM\n" +
      "  pub_db2.equipment_unseal a,\n" +
      "  pub_db1.she_bei_info b\n" +
      //"WHERE CONVERT(a.equipment_name USING utf8) =CONVERT( b.ename USING utf8)");
      " limit " + start + ", " + end);

public void listData() {
      /*Object[] queryParams = getQueryParams();
      System.out.println("SQL查询queryParams"+queryParams);
      String[] properties = (String[]) queryParams[0];
      System.out.println("SQL查询properties"+properties);
      String[] symbols = (String[]) queryParams[1];
      System.out.println("SQL查询symbols"+symbols);
      Object[] values = (Object[]) queryParams[2];
      System.out.println("SQL查询values"+values);

      String orderBy = getOrderBy();
      if(StringUtil.isEmpty(orderBy)) {
         orderBy = "id desc";
      }

      List<Record> list = DBTool.findByMultPropertiesDbSource(TspaceConst.dbsource2, "equipment_unseal", properties, symbols, values, orderBy, getPager());
*/

      //方法一   有效
      int start = getPager().getStartRow();
      int end = getPager().getRows();
      System.out.println("查询后的结果分页start"+start);
      System.out.println("查询后的结果分页end"+start);
      List<Record> list = Db.find("SELECT\n" +
            "  a.*,\n" +
            "  b.*\n" +
            "FROM\n" +
            "  pub_db2.equipment_unseal a,\n" +
            "  pub_db1.she_bei_info b \n" +
            "  where 1= 1 LIMIT "+start+","+end);
      //方法二 测试中
      //List<Record> list2 = Db.use(configname).find("select A.a,B.b from A  left join (select a,b from B) B on A.a = B.a")
      System.out.println("查询后的结果"+list);
      renderDatagrid(
            list,
            //DBTool.countByMultPropertiesDbSource(TspaceConst.dbsource2, "equipment_unseal", properties, symbols, values)
            Db.queryLong("SELECT\n" +
                  "  COUNT(*)\n" +
                  "FROM\n" +
                  "  pub_db2.equipment_unseal a,\n" +
                  "  pub_db1.she_bei_info b where 1=1").intValue()
      );
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值