开源软件名称:hunt-database
开源软件地址:https://gitee.com/huntlabs/hunt-database
开源软件介绍:
DatabaseDatabase abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite. Exampleimport std.stdio;import hunt.database;void main(){ writeln("run database MySQL demo."); auto db = new Database("mysql://root:123456@localhost:3306/test?charset=utf8mb4"); 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 objectauto 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.
|
请发表评论