【以用户表为例子】
1.新建项目NhibernateUse;
2.添加引用Nhibernate.dll,Nhibernate.dll需要与.net框架匹配否则报错;添加引用MySQL.date(路径:C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5,有4.5与4.0两个版本,根据目标框架进行选择;如何查看目标框架:右击项目->属性->目标框架)
3.添加XML文件:hibernate.cfg.xml(配置文件)代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<!--配置文件-->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property><!--数据库版本-->
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property><!--数据库类型-->
<property name="connection.connection_string">Server=localhost;Database=mygamedb;User ID=root;Password=0000;</property><!--连接参数-->
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
4.在Nhibernate程序集下创建文件夹Model用来存放与数据库表对应的类;添加类User.cs,代码如下:
namespace NhibernateUse.Modle
{
//model文件内容与Mappings文件内容对应
//User类与数据库表users对应
//将类设为public
public class User
{
public virtual int Id { get;set;}
public virtual string Username{get;set;}
public virtual string Password{get;set;}
public virtual string Registerdate { get; set; }
}
}
5.创建Mappings文件存放与数据库表映射的配置文件;添加XML文件类型:User.hbm.xml文件,代码如下:
<?xml version="1.0" encoding="utf-8" ?><!--配置与User类映射-->
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NhibernateUse"
namespace="NhibernateUse.Modle"><!--程序集与User类所在的命名空间-->
<class name="User" table="users"><!--映射-->
<id name="Id" column="id" type="Int32"><!--主键-->
<generator class="native"></generator><!--自动增长,为其指定一个自动增长器-->
</id>
<property name="Username" column="username" type="String"></property>
<property name="Password" column="password" type="String"></property>
<property name="Registerdate" column="registerDate" type="Date"></property>
</class>
</hibernate-mapping>
6.最后为Program.cs添加如下代码:
//需要引入下方命名空间
using NHibernate;
using NHibernate.Cfg;
namespace NhibernateUse
{
class Program
{
static void Main(string[] args)
{
var configuration = new Configuration();
configuration.Configure(); //解析hibernate.cfg.xml
configuration.AddAssembly("NhibernateUse");//解析映射文件 User.hbm.xml等等
Console.ReadKey();
}
}
}
7.运行不出错则配置完成。