Apakah Flutter Dapat Konek Langsung ke database MySQL?

Tentu saja jawabannya adalah bisa. Flutter adalah kerangka kerja pengembangan aplikasi mobile yang sangat populer, sementara MySQL dan MariaDB adalah sistem manajemen basis data relasional yang sering digunakan. Untuk menghubungkan Flutter ke database MySQL atau MariaDB, Anda dapat menggunakan plugin Dart bernama mysql1. MySQL driver untuk bahasa pemrograman Dart. Bekerja baik di Flutter maupun di server. Package ini bertujuan untuk menyediakan antarmuka yang mudah digunakan untuk MySQL. mysql1 berasal dari fork dari driver SQLJocky.

Penggunaan:

    1.  Cara Koneksi ke database
      var settings = new ConnectionSettings(
        host: 'localhost', 
        port: 3306,
        user: 'bob',
        password: 'wibble',
        db: 'mydb'
      );
      var conn = await MySqlConnection.connect(settings);
      
    2. Cara Eksekusi query
      var userId = 1;
      var results = await conn.query('select name, email from users where id = ?', [userId]);
      
    3. Hasil Query
      for (var row in results) {
        print('Name: ${row[0]}, email: ${row[1]}');
      });
      
    4. Cara Menambahkan Data
      var result = await conn.query('insert into users (name, email, age) values (?, ?, ?)', ['Bob', 'bob@bob.com', 25]);
      
    5. Hasil dari kueri insert akan kosong, tetapi akan memiliki sebuah ID jika ada kolom auto-increment dalam tabel tersebut:
      print("New user's id: ${result.insertId}");
      
    6. Melaksanakan kueri dengan beberapa set parameter:
      var results = await query.queryMulti(
          'insert into users (name, email, age) values (?, ?, ?)',
          [['Bob', 'bob@bob.com', 25],
          ['Bill', 'bill@bill.com', 26],
          ['Joe', 'joe@joe.com', 37]]);
      
    7. Cara update data
      await conn.query(
          'update users set age=? where name=?',
          [26, 'Bob']);
      

      Paket ini membuka sebuah soket ke basis data. Platform web tidak mendukung soket sehingga paket ini tidak dapat digunakan pada Flutter web.