rxjava2-jdbc, JDBC集成的RxJava2集成,包括非阻塞连接池

分享于 

3分钟阅读

GitHub

  繁體
RxJava2 integration with JDBC including Non-blocking Connection Pools
  • 源代码名称:rxjava2-jdbc
  • 源代码网址:http://www.github.com/davidmoten/rxjava2-jdbc
  • rxjava2-jdbc源代码文档
  • rxjava2-jdbc源代码下载
  • Git URL:
    git://www.github.com/davidmoten/rxjava2-jdbc.git
    Git Clone代码到本地:
    git clone http://www.github.com/davidmoten/rxjava2-jdbc
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/davidmoten/rxjava2-jdbc
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    rxjava2-jdbc

    使用rxjava2-jdbc JDBC非常简单。

    如何构建

    使用Maven:

    mvn clean install

    入门

    使用这个Maven依赖:

    <dependency>
     <groupId>com.github.davidmoten</groupId>
     <artifactId>rxjava2-jdbc</artifactId>
     <version>0.1-RC37</version>
    </dependency>

    如果要使用thetest数据库,请添加Apache Derby依赖项(否则,你需要连接数据库的jdbc依赖性):

    <dependency>
     <groupId>org.apache.derby</groupId>
     <artifactId>derby</artifactId>
     <version>10.14.1.0</version>
    </dependency>

    数据库

    开始工作需要Database实例,给定数据库的jdbc url,可以创建如下所示的Database对象:

    Database db =Database.from(url, maxPoolSize);

    支持rxjava2-jdbc!

    如果要使用测试数据库,请执行以下操作:

    Database db =Database.test(maxPoolSize);

    要使用thetest数据库,你需要Apache Derby依赖:

    <dependency>
     <groupId>org.apache.derby</groupId>
     <artifactId>derby</artifactId>
     <version>10.14.1.1</version>
    </dependency>

    测试数据库有几个表(请参见脚本),包括PersonAddress

    每次调用Database.test(maxPoolSize)时,你都会有一个全新的数据库来处理加载的数据,如上所述。

    查询示例

    使用Database实例对Person表执行select查询,并将名称写入控制台:

    Database db =Database.test();
    db.select("select name from person")
     .getAs(String.class)
     .blockingForEach(System.out::println);

    输出为

    
    FRED
    
    
    JOSEPH
    
    
    MARMADUKE
    

    注意blockingForEach的使用,这只是为了演示,执行查询时,可以在计划程序上异步执行,你可以根据需要指定,默认调度程序为:

    Schedulers.from(Executors.newFixedThreadPool(maxPoolSize));

    INT  整合  Block  POOL  Blocking  JDBC