flutter中如何与mysql数据库进行连接

一、配置pubspec.yaml文件

添加依赖 

sqljocky5: ^2.2.1

添加后记得进行pub get

二、在dart文件中import依赖包

import 'package:sqljocky5/connection/connection.dart';
import 'package:sqljocky5/connection/settings.dart';
import 'package:sqljocky5/results/results.dart';

三、连接数据库

///建立数据库连接   记得在MySqlConnection conn前面加 late表示之后再进行初始化
///不然当前版本的flutter会报错
late MySqlConnection conn;

 init() async {
  print('配置数据库链接');
  var setting = ConnectionSettings(
    //用户名
    user: "root",
    //密码
    password: "123456",
    ///flutter中电脑本地的ip,必须用这个IP地址,不然会报错 "Socket has been closed"
    host: "10.0.2.2",
    //端口
    port: 3306,
    //需要连接的数据库
    db: "library",
  );
  //获取数据库连接
  await MySqlConnection.connect(setting).then((_){
    conn=_;
    print('连接成功');
  });
}

 

四、空安全问题

选择设备并点击 运行后,当前版本的flutter貌似会出现空安全问题,如下图所示

根据官网提供的解决方法:

 

 在终端输入 flutter run --no-sound-null-safety 即可。

运行结果:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter连接MySQL数据库,你可以使用一个称为"sqflite"的插件。 sqflite是一个Flutter插件,允许你在移动应用使用SQLite数据库。SQLite是一种嵌入式数据库,可以在移动设备上轻松地进行本地存储。 以下是使用sqflite插件连接MySQL数据库的基本步骤: 1. 添加sqflite依赖:在你的Flutter项目的`pubspec.yaml`文件添加以下依赖: ```yaml dependencies: sqflite: ^2.0.0+3 ``` 然后运行`flutter pub get`以获取依赖项。 2. 导入sqflite库:在你的Dart文件导入sqflite库。 ```dart import 'package:sqflite/sqflite.dart'; ``` 3. 创建数据库连接:使用`openDatabase`函数创建与MySQL数据库连接。传递MySQL数据库的主机、端口、用户名、密码和数据库名称作为参数。 ```dart var database = await openDatabase( 'mysql://username:password@host:port/database_name', ); ``` 确保替换`username`、`password`、`host`、`port`和`database_name`为你的MySQL数据库的实际值。 4. 执行SQL查询:使用`rawQuery`或`execute`函数执行SQL查询。 ```dart var queryResult = await database.rawQuery('SELECT * FROM table_name'); ``` 确保将`table_name`替换为你的表名称,然后可以处理查询结果。 这些是连接MySQL数据库的基本步骤。请注意,直接连接MySQL数据库通常不是在移动应用的最佳实践,因为它会涉及将数据库凭据包含在应用。通常情况下,你可能需要使用一个间层(例如服务器端API)来处理与数据库的通信,以增加安全性和控制性。 希望以上信息能对你有所帮助!如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值