PHotonServer与unity开发自己简单的联网游戏数据库篇
一、开发准备
1.MySQL5.5相近版本的安装,正常配置即可。
2.NHibernate面向.NET环境的对象/关系数据库映射工具的下载
http://sourceforge.net/projects/nhibernate/files/NHibernate/5.2.5/NHibernate-5.2.5-bin.zip/download
NHibernate-5.2.5-bin.zip\Required_Bins\Iesi.Collections.dll
NHibernate-5.2.5-bin.zip\Required_Bins\NHibernate.dll为工程需要引入的程序集,用于连接和解析数据库
二、建立控制台(.NET Framwork)工程,开始实验
1.导入上诉两个程序集和C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2\MySql.Data.dll程序集。
2.下图为我的控制台工程完整的文件夹和代码项的布局。
我们首先要定义NHibernate解析的配置文件.XML格式文件,命名为hibernate.cfg.xml,这样命名可以让NHibernate.Cfg.Configuration.Configure()方法直接读取并解析。配置如下,NHibernate文档有关于不同数据库的配置方法,其中“connection.connecton_string”后面为相应数据库的配置信息。
NHibernate的解析文件配置好后我们需要进行数据库的映射,从而使得我们正确的匹配数据库对应数据。首先要根据自己数据库数据结构创建代码模型放在Model文件夹中,对应的解析文件放在Mapping文件夹(可以有很多种映射).XML文件命名为User.hbm.xml。用NHibernate.Cfg.Configuration.AddAssembly(“工程文件名”)方法来解析。对应相应数据库的配置文件图如下
以上配置完成以后,我们便可以用NHibernate进行MySQL数据库的连接。如下就可以建立简单的连接。
对于具体对数据库的操作我们一般会放在专门的处理文件Manager中。其中IUserManger是一个接口的定义,主要定义了对用户名增删改写等操作,UserManager则是对IUserManager的具体实现方式。这样定义我们可以定义适用不同环境的UserManager。如下为IUserManager的定义。
如下为UserManager中VerifyUser方法的具体实现。
三、偶遇的出错
按照正常的步骤走下来,可能因为hibernate.cfg.xml文件中的MySQL5Dialect或者MySqlDataDriver等里面的大小写写错,只有都配置正确才能正确用NHibernate连接数据库,万分细心。User.hbm.xml配置文件也同样,大小写请一致,NHibernate官方文档有关于具体配置各个类型的正确形式
https://nhibernate.info/doc/tutorials/first-nh-app/your-first-nhibernate-based-application.html
官方文档也有连接的事例
https://nhibernate.info/doc/nhibernate-reference/quickstart.html#quickstart-intro
官方文档非常齐全,大家有兴趣的可以深入了解,建立简单的游戏登入注册,上述已经基本可以完成对应功能。
在此特别指出MySql.Data.dll程序集最好引用对应.net框架的,不然可能无法正确连接数据库。