环境配置
主要是对Unity做一些配置,建议不要用Visual Studio NuGet中的dll文件,太新了,不兼容,直接导入一些dll文件到以下文件夹更快、更好:
- 在Unity的Assets根目录创建Plugins文件夹;
- 将MySql.Data.dll文件存入Plugins文件夹,此为MySQL运行环境;
- 将DnsClient.dll、MongoDB.Bson.dll、MongoDB.Driver.Core.dll、MongoDB.Driver.dll、System.Buffers.dll五个文件存入Plugins文件夹,此为MongoDB运行环境;
- 脚本引入MySql.Data.MySqlClient命名空间;
- 脚本引入MongoDB.Bson和MongoDB.Driver命名空间。
MySQL代码片
//全局变量
MySqlConnection connection;
void MysqlConn()
{
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
//用户名
builder.UserID = "用户名";
//密码
builder.Password = "密码";
//服务器地址
builder.Server = "localhost";
//连接的数据库
builder.Database = "连接的数据库";
//建立连接
connection = new MySqlConnection(builder.ConnectionString);
//打开数据库
connection.Open();
string id = "2";
string userName = "To";
string userDesc = "中文描述内容测试来自unity添加的内容。";
InsertMSQ(string.Format("INSERT INTO userdesc VALUES('{0}','{1}','{2}');", id,userName, userDesc));//增加数据
SelectMSQ("SELECT * FROM userdesc;");//查询数据
}
void InsertMSQ(string sql)
{
MySqlCommand mySqlCommand = new MySqlCommand(sql, connection);
int result = mySqlCommand.ExecuteNonQuery();
Debug.LogWarning("Sucess:"+result);
connection.Close();
}
void SelectMSQ(string sql)
{
MySqlCommand cmd = new MySqlCommand(sql, connection);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
//输出第一列
Debug.LogWarning(reader.GetInt32(0));
if (!reader.IsDBNull(1))
{
//输出第二列字段值
Debug.LogWarning(reader.GetString(1));
}
//判断字段"password"是否为null,为null数据转换会失败
if (!reader.IsDBNull(2))
{
//输出第三列字段值
Debug.LogWarning(reader.GetString(2));
}
}
connection.Close();//关闭数据库
}
MongoDB代码片
//全局变量
IMongoCollection<BsonDocument> mongoCollection;
IMongoDatabase mongoDatabase;
void MongodbConn()
{
MongoClient mongoClient = new MongoClient("mongodb://用户名:密码@localhost:27017/数据库名");//结尾必须带上数据库名,否则连接数据库失败,报3000超时错误。
mongoDatabase = mongoClient.GetDatabase("数据库名");
mongoCollection = mongoDatabase.GetCollection<BsonDocument>("集合名");
MDBInsert("乐乐", "lele");//增加数据
MDBSelect();//查询数据
}
void MDBInsert(string name, string passwd)
{
BsonDocument document = new BsonDocument{
{"name",name},
{"passwd",passwd}
};
mongoCollection.InsertOne(document);
}
void MDBSelect()
{
//var filter = Builders<BsonDocument>.Filter.Eq("name", "张三");
var filter = Builders<BsonDocument>.Filter.Empty;//等价于:var filter = new BsonDocument();
var result = mongoCollection.Find(filter).ToList();
foreach (var doc in result)
{
Debug.LogWarning($"ID: {doc["_id"]}, 姓名: {doc["name"]}, 密码: {doc["passwd"]}");
}
}