虹口建设机械网站制作,查询网站备案时间查询,大型网站建设推荐,杭州建设工程交易平台使用 NHibernate 连接 MySQL 并实现数据的增删改查操作是一个非常典型的场景。以下是一个简单的示例#xff0c;演示了如何配置 NHibernate 与 MySQL 连接并进行基本的 CRUD 操作。
目录
步骤 1: 安装必要的包
步骤 2: 配置 NHibernate
配置文件方式
代码方式
步骤 3: 定…使用 NHibernate 连接 MySQL 并实现数据的增删改查操作是一个非常典型的场景。以下是一个简单的示例演示了如何配置 NHibernate 与 MySQL 连接并进行基本的 CRUD 操作。
目录
步骤 1: 安装必要的包
步骤 2: 配置 NHibernate
配置文件方式
代码方式
步骤 3: 定义实体类和映射
实体类
映射文件
步骤 4: CRUD 操作 步骤 1: 安装必要的包
首先需要安装 NHibernate 和 MySQL 数据库驱动程序。在你的项目中可以使用 NuGet 来安装这些包。打开 NuGet 包管理器控制台并运行以下命令
Install-Package NHibernate
Install-Package MySql.Data
步骤 2: 配置 NHibernate
接下来配置 NHibernate。我们需要创建一个 NHibernate 配置文件或通过代码配置 NHibernate。
配置文件方式
创建一个 hibernate.cfg.xml 文件内容如下
?xml version1.0 encodingutf-8 ?
hibernate-configuration xmlnsurn:nhibernate-configuration-2.2session-factoryproperty nameconnection.driver_classNHibernate.Driver.MySqlDataDriver/propertyproperty namedialectNHibernate.Dialect.MySQLDialect/propertyproperty nameconnection.providerNHibernate.Connection.DriverConnectionProvider/propertyproperty nameconnection.connection_stringServerlocalhost;Databasetest;User Idroot;Passwordpassword;/propertyproperty nameshow_sqltrue/property/session-factory
/hibernate-configuration代码方式
也可以通过代码配置 NHibernate如下所示
var configuration new Configuration();
configuration.DataBaseIntegration(db
{db.ConnectionString Serverlocalhost;Databasetest;User Idroot;Passwordpassword;;db.DialectNHibernate.Dialect.MySQLDialect();db.DriverNHibernate.Driver.MySqlDataDriver();db.KeywordsAutoImport Hbm2DDLKeyWords.AutoQuote;db.SchemaAction SchemaAutoAction.Update;
});步骤 3: 定义实体类和映射
定义一个简单的实体类和它的映射文件。
实体类
public class Person
{public virtual int Id { get; set; }public virtual string Name { get; set; }public virtual int Age { get; set; }
}映射文件
创建一个 Person.hbm.xml 文件内容如下
?xml version1.0 encodingutf-8 ?
hibernate-mapping xmlnsurn:nhibernate-mapping-2.2 namespaceYourNamespace assemblyYourAssemblyclass namePerson tablePersonsid nameId columnidgenerator classidentity //idproperty nameName columnname /property nameAge columnage //class
/hibernate-mapping步骤 4: CRUD 操作
配置好 NHibernate 后就可以进行数据的增删改查操作了。
public class Program
{private static ISessionFactory sessionFactory;static void Main(string[] args){var configuration new Configuration();configuration.Configure(); // 配置文件方式configuration.AddAssembly(typeof(Person).Assembly); // 加载映射文件sessionFactory configuration.BuildSessionFactory();using (var session sessionFactory.OpenSession())using (var transaction session.BeginTransaction()){// 创建var person new Person { Name John Doe, Age 30 };session.Save(person);// 读取var retrievedPerson session.GetPerson(person.Id);Console.WriteLine($Retrieved Person: {retrievedPerson.Name}, {retrievedPerson.Age});// 更新retrievedPerson.Age 31;session.Update(retrievedPerson);// 删除session.Delete(retrievedPerson);transaction.Commit();}}
}数据库表脚本 CREATE TABLE person (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(255) DEFAULT NULL COMMENT 姓名,age int(11) DEFAULT NULL COMMENT 年龄,PRIMARY KEY (id)
) ENGINEInnoDB DEFAULT CHARSETlatin1;