【MySQL与C#】NHibernate配置过程

【以用户表为例子】

【注】部分代码取自:http://nhibernate.info/doc/tutorials/first-nh-app/your-first-nhibernate-based-application.html(需要对部分语句进行一些修改,因为默认为SQLserver的配置代码)

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.运行不出错则配置完成。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值