zoukankan      html  css  js  c++  java
  • mysql asyn 实战

    创建configuration时,发现URLParser找不到,于是只能使用配置文件来,当然使用配置文件比使用URL初始化还要直观些

    def configurationWithPassword = new Configuration(
    host = "localhost",
    port = 3306,
    username = "root",
    password = Some("123"),
    database = Some("test")
    )

    Configuration文件本身是case class,它的code是

    case class Configuration(username: String,
    host: String = "localhost",
    port: Int = 5432,
    password: Option[String] = None,
    database: Option[String] = None,
    charset: Charset = Configuration.DefaultCharset,
    maximumMessageSize: Int = 16777216,
    allocator: AbstractByteBufAllocator = PooledByteBufAllocator.DEFAULT,
    connectTimeout: Duration = 5.seconds,
    testTimeout: Duration = 5.seconds
    )

    这让我想到了slick,slick我连配置文件都搞不出来。总觉得slick的设计有些反人类。

    对于单连接

      def sinConnection: MySQLConnection = {
        val configuration: Configuration = configurationWithPassword
        new MySQLConnection(configuration)
      }

    对于线程池连接

    def poolConnection: ConnectionPool[MySQLConnection] = {
    val configuration: Configuration = configurationPool
    val factory = new MySQLConnectionFactory(configuration)
    val pool = new ConnectionPool[MySQLConnection](factory, PoolConfiguration.Default)
    pool
    }

    ResultSet并不是java.sql.resultSet而是作者自己创建的新类型

    trait ResultSet extends IndexSeq[RowData]

    而rowData则表示一行数据,也是一个顺序表

    trait RowData extends IndexedSeq[Any]

    这样,ResultSet就像是个二维表了

  • 相关阅读:
    [匈牙利算法] 洛谷 P1640 连续攻击
    [dfs] Jzoj P5916 flow
    [bfs] Jzoj P3522 迷宫花园
    [二分][状压dp] Jzoj P3521 道路覆盖
    [模拟] Jzoj P3520 原根
    [并查集] Jzoj P5914 盟主的忧虑
    [树上差分][子树求和][树形dp] Jzoj P5911 Travel
    [思维][暴力] Jzoj P5912 VanUSee
    [dfs][离散化] Jzoj P5910 DuLiu
    [cdq分治][树的重心] 洛谷 P3806 点分治1
  • 原文地址:https://www.cnblogs.com/xinsheng/p/4336066.html
Copyright © 2011-2022 走看看