mysql_client 0.0.3 copy "mysql_client: ^0.0.3" to clipboard
mysql_client: ^0.0.3 copied to clipboard

outdated

Native MySQL client written in Dart

Native MySQL client written in Dart for Dart #

See example directory for examples and usage

Roadmap #

  • Auth with mysql_native_password
  • Basic connection
  • Connection pool
  • Query placeholders
  • Transactions
  • Prepared statements (real, not emulated)
  • SSL connection
  • Send data in binary form when using prepared stmts (do not convert all into strings)
  • Multiple resul sets

Usage #

Create connection pool

final pool = MySQLConnectionPool(
    host: '127.0.0.1',
    port: 3306,
    userName: 'your_user',
    password: 'your_password',
    maxConnections: 10,
    databaseName: 'your_database_name', // optional,
  );

Query database

var result = await pool.execute("SELECT * FROM book WHERE id = :id", {"id": 1});
  for (final row in result.rows) {
    print(row.assoc());
  }

Prepared statements #

This library supports real prepared statements (using binary protocol).

Prepare statement

var stmt = await conn.prepare(
  "INSERT INTO book (author_id, title, price, created_at) VALUES (?, ?, ?, ?)",
);

Execute with params

await stmt.execute([null, 'Some book 1', 120, '2022-01-01']);
await stmt.execute([null, 'Some book 2', 10, '2022-01-01']);

Deallocate prepared statement

await stmt.deallocate();

Tests #

To run tests execute

dart test
148
likes
0
pub points
94%
popularity

Publisher

unverified uploader

Native MySQL client written in Dart

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

buffer, crypto, tuple

More

Packages that depend on mysql_client