前几天做了一个用 Asp.net 2.0 访问 MySQL 的demo,这里记录下来,供朋友们借鉴:
1)准备:
VS2005 :工具
mysql-5.0.22-win32 :MySQL数据库
mysql-connector-net-5.0.9: MySQL 的 .net 访问DLL
navicat8_mysql_cs : 可视化管理 MySQL
mygeneration_1303:代码生成器
nHibernate updated by kqw :代码生成器的NHibernate模板
nhibernate-1.0.2.0 : hibernate 的 .NET 版
2)开始
用navicat 在 MySQL中新建数据库,建表。
mygeneration 连接数据库,生成实体类代码 和 xml 文件。
vs 新建类库,将上面的类代码和xml 文件加到项目中,引用 nhibernate 编译成功。
vs 新建 web 项目,引入上一步的类库项目,编写业务层和表现层,特别注意 webconfig 中的数据库访问配置:
<configSections>
<section name="nhibernate"
type="System.Configuration.NameValueSectionHandler, System,
Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
<section name="urlrewritingnet" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<nhibernate>
<add key="hibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver" />
<add key="hibernate.dialect" value="NHibernate.Dialect.MySQLDialect" />
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<add key="hibernate.connection.connection_string"
value="Database=s2558090db;Data Source=localhost;User
Id=root;Password=123456" />
</nhibernate>
最后,我们可以看出,Asp.net 2.0 访问 MySQL 和访问 MSSQL 是类似的,借助 nhibernate,我们可以把项目和数据库的耦合解开,达到项目数据库更换,代码不变的目的,但是应该看到,这样做的同时增加了代码的复杂度,学习成本高。
如需全部代码,请和我联系