<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          DbalD 語言數(shù)據(jù)庫驅(qū)動層

          聯(lián)合創(chuàng)作 · 2023-09-30 19:58

          Dbal 是 HuntLabs 開發(fā)的D語言(dlang)數(shù)據(jù)庫驅(qū)動層,類似 PHP 的 PDO、JAVA 的 JDBC,內(nèi)置連接池支持。

          目前支持的數(shù)據(jù)庫驅(qū)動:

          1. PostgreSQL 8+

          2. MySQL 5.1+

          3. SQLite 3+

          示例代碼

          import std.stdio;
          import std.experimental.logger;
          
          import database;
          
          void main()
          {
              writeln("run database MySQL demo.");
          
              auto db = new Database("mysql://root:123456@localhost:3306/test?charset=utf-8");
          
              int result = db.execute(`INSERT INTO user(username) VALUES("test")`);
              writeln(result);
          
              foreach(row; db.query("SELECT * FROM user LIMIT 10"))
              {
                  writeln(row["username"]);
              }
          
              db.close();
          }

          Use DatabaseOption to instantiate a Database object

          auto options = new DatabaseOption("mysql://root:123456@localhost:3306/test");
          options.setMaximumConnection(5);

          auto db = new Database(options);

          db.execute("SET NAMES utf8");

          API

          • int Database.execute(string sql) Return number of execute result.

          int result = db.execute('INSERT INTO user(username) VALUES("Brian")');
              // if execute error ,db will throw an DatabaseException
          • ResultSet Database.query(sql) Return ResultSet object for query(SELECT).

          ResultSet rs = db.query("SELECT * FROM user LIMIT 10");
          • Statement Database.prepare(sql) Create a prepared Statement object.

             Statement stmt = db.prepare("SELECT * FROM user where username = :username and age = :age LIMIT 10");
          • Statement.setParameter(param, value) : bind param's value to :param for sql.

             stmt.setParameter("username", "viile");
             stmt.setParameter("age", 18);
          • ResultSet Statement.query() Return ResultSet

          ResultSet rs = stmt.query();
              foreach(row; rs)
              {
                  writeln(row["username"]);
              }
          • Row Statement.fetch() Return Row

          Row row = stmt.fetch();
              writeln(row["username"]);
          • int Statement.execute() : return execute status for prepared Statement object.

          int result = stmt.execute();
          • Statement.lastInsertId() : Statement.execute() for insert sql, return lastInsertId.

          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  11一12周岁女毛片 | 成年人妻系列 | 黄黄片在线看 | 青青草黄色免费网站 | 91精品婷婷国产综合久久韩漫 |