zoukankan      html  css  js  c++  java
  • initMySQLPool

    package com.be.edge.asset.source;
    
    import io.vertx.core.AbstractVerticle;
    import io.vertx.core.Promise;
    import io.vertx.core.json.JsonObject;
    import io.vertx.mysqlclient.MySQLConnectOptions;
    import io.vertx.mysqlclient.MySQLPool;
    import io.vertx.sqlclient.PoolOptions;
    import io.vertx.sqlclient.Row;
    import io.vertx.sqlclient.RowSet;
    import lombok.extern.slf4j.Slf4j;
    
    @Slf4j
    public class MySQLVerticle extends AbstractVerticle {
        private MySQLPool client;
    
        @Override
        public void start(Promise<Void> startPromise) throws Exception {
            initMySQLPool();
            /*
            client.query("SELECT * FROM data_list WHERE id = 1")
                .execute(ar -> {
                    if (ar.succeeded()) {
                        RowSet<Row> result = ar.result();
                        log.info("Got {} rows {}", result.size(), result);
                    } else {
                        log.info("Failure {}", ar.cause().getMessage());
                    }
                    client.close();
                });
            */
    
            client.getConnection().compose(conn -> {
                // All operations execute on the same connection
                return conn
                    .query("SELECT * FROM data_list WHERE id = 1")
                    .execute()
                    .compose(res -> conn
                        .query("SELECT * FROM data_list WHERE id = 2")
                        .execute())
                    .onComplete(ar -> {
                        // Release the connection to the pool
                        conn.close();
                    });
            }).onComplete(ar -> {
                if (ar.succeeded()) {
                    RowSet<Row> result = ar.result();
                    log.info("Got {} rows {}", result.rowCount(), result);
                    for (Row row : result) {
                        log.info("data {} {}", row.getInteger(0), row.getString(1));
                    }
                } else {
                    System.out.println("Something went wrong " + ar.cause().getMessage());
                }
            });
        }
    
        private void initMySQLPool() {
            JsonObject config = config();
            MySQLConnectOptions connectOptions = new MySQLConnectOptions(config.getJsonObject("connect"));
            PoolOptions poolOptions = new PoolOptions(config.getJsonObject("pool"));
            client = MySQLPool.pool(vertx, connectOptions, poolOptions);
        }
    }





  • 相关阅读:
    ReactNative 打包 APK
    ReactNative常用命令
    ReactNative之坑:停在gradle一直出点
    Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构
    tensorflow 安装升级
    sqlserver 全库查询 带架构
    气象数据资料整理
    poj2841
    cf1430e
    cf1436d
  • 原文地址:https://www.cnblogs.com/exmyth/p/14248138.html
Copyright © 2011-2022 走看看