NHibernate学习笔记(3)-实体反射到数据库
2016-03-12 16:39
351 查看
一、开发环境
NHiberate版本:4.0.4开发工具:VS2013
数据库:SQLServer2012
二、开发流程
1.编写领域类与映射文件
namespace Domain { public class Product { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual decimal UnitPrice { get; set; } } }
编写映射文件Product.hbm.xml:【嵌入的资源】
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain"> <class name="Product" table="T_Product" lazy="true" > <id name="Id" column="Id" type="int" > <generator class="native" /> </id> <property name="Name" type="string"> <column name="Name" length="50"/> </property> <property name="UnitPrice" type="decimal"> <column name="UnitPrice" precision="14" scale="2"/> </property> </class> </hibernate-mapping>
2.配置NHiberate文件:hibernate.cfg.xml:【始终复制】
<?xml version="1.0" encoding="utf-8"?> <!-- This template was written to work with NHibernate.Test. Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml and change it for your own use before compile tests in VisualStudio. --> <!-- This is the System.Data.dll provider for SQL Server --> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" > <session-factory> <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> <property name="connection.connection_string"> server=.;database=NHibernateDemo;uid=sa;pwd=love; </property> <property name="adonet.batch_size">10</property> <property name="show_sql">true</property> <property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property> <property name="command_timeout">60</property> <property name="hbm2ddl.auto">update</property> <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property> <mapping assembly="Domain"/> </session-factory> </hibernate-configuration>
3.使用NHiberate工具生成对应的数据库结构
class Program { static void Main(string[] args) { var cfg = new NHibernate.Cfg.Configuration().Configure("Config/hibernate.cfg.xml"); //必须要写,否则无法反射 using (ISessionFactory sessionFactory = cfg.BuildSessionFactory()) { } Console.WriteLine("ok"); Console.ReadKey(); } }
三、代码下载
1.程序结构
2.下载地址
相关文章推荐
- Mac 下安装 MySQL 以及 Oracle SQL Developer 连接本地 MySQL
- SQOOP——MySQL 和 HDFS 的桥梁
- SQL join,left join ,right join,full join
- 浅识数据库——封装数据库操作
- 一个存储函数的问题错误
- 弦月下的SQL<前言>
- 数据库操作--批量修改数据库表名及字段名大小写转换及首字母大写+删除没有数据无用的表
- mongodb - 查看数据库状态
- oracle 读取blob大文本字段
- 【事务系列3】锁,你的兄弟姐妹还能再多点吗?
- 【MySQL】MySQL无基础学习和入门之二:MySQL的安装
- DQL数据查询语言(二)及数据的备份与恢复
- mongodb - 查看集合的状态
- 146 memcache
- PHP_mySQL_通过php代码+sql查询语句读取数据库信息
- Install-Package MySql.Data.Entity.EF6失败的解决办法
- ubuntu下解决mysql插入中文乱码(???)的问题
- mysql进阶(二十三)数据库事务四大特性
- 数据库事务四大特性
- 7. memcache 细节