当前位置: 首页 > news >正文

写作网站原码腾讯云 配置wordpress

写作网站原码,腾讯云 配置wordpress,第一设计,做好三步网站改版工具不降权 无忧老师1. 学习目的: 通过进一步学习nhibernate基础知识#xff0c;在实现单表CRUD的基础上#xff0c;实现两表之间one-to-many的关系. 2. 开发环境必要准备 开发环境: windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要准备: 学习上篇文章单…1.     学习目的: 通过进一步学习nhibernate基础知识在实现单表CRUD的基础上实现两表之间one-to-many的关系. 2.     开发环境必要准备 开发环境: windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要准备: 学习上篇文章单表操作    3 对上篇文章中部分解释  1在User.hbm.xml中class节点中有一个lazy的属性这个属性用于指定是否需要延迟加载lazy loading在官方文档中称为:lazy fecting.可以说延迟加载是nhibernate最好的特点因为它可以在父类中透明的加载子类集合这对于many-to-one的业务逻辑中真是方便极了。但是有些时候父类是不需要携带子类信息的。这时候如果也加载无疑对性能是一种损失。在映射文件的class节点中可以通过配置lazy属性来指定是否支持延迟加载这就更灵活多了。   2) 在User.hbm.xml中generate节点代表的是主键的生成方式上个例子中的”native”根据底层数据库的能力选择identity,hilo,sequence中的一个比如在MS Sql中使我们最经常使用的自动增长字段每次加1.  3) 在NHibernateHelper.cs中创建Configuration对象的代码new Configuration().Configure(E:\myproject\nhibernatestudy\simle1\NHibernateStudy1\NhibernateSample1\hibernate.cfg.xml)因为我是在单元测试中调试所以将绝对路径的配置文件传递给构造函数。如果在windows app或者web app可以不用传递该参数。  4 实现步骤  1确定实现的业务需求用户工资管理系统  2) 打开上篇文章中的NHibernateStudy1解决方案。向项目NhibernateSample1添加类Salary;代码如下 Salary.csusing System;using System.Collections.Generic;using System.Text;namespace NhibernateSample1{    public partial class Salary    {        int _id;        User _user;        int _year;        int _month;        int _envy;        decimal _money;        /**//// summary        /// 工资编号        /// /summary        public virtual int Id        {            get            {                return _id;            }            set            {                _id  value;            }        }        /**//// summary        /// 雇员        /// /summary        public virtual User Employee        {            get            {                return _user;            }            set            {                _user  value;            }        }        /**//// summary        /// 年度        /// /summary        public int Year        {            get            {                return _year;            }            set            {                _year  value;            }        }        /**//// summary        /// 月份        /// /summary        public int Month        {            get            {                return _month;            }            set            {                _month  value;            }        }        /**//// summary        /// 季度        /// /summary        public int Envy        {            get            {                return _envy;            }            set            {                _envy  value;            }        }        /**//// summary        /// 工资        /// /summary        public decimal Money        {            get            {                return _money;            }            set            {                _money  value;            }        }    }} 3) 更改User.cs,在User里面添加SalaryList属性 User.cs 1private System.Collections.IList _salaryList; 2 /**//// summary 3        /// 工资列表 4        /// /summary 5        public System.Collections.IList SalaryList 6        { 7            get 8            { 9                return _salaryList;10            }11            set12            {13                _salaryList  value;14            }15        } 4修改User.hbm.xml加入bag节点User.hbm.xmlbag nameSalaryList tableSalary inversetrue lazytrue cascadeall      key columnId/      one-to-many classNhibernateSample1.Salary,NhibernateSample1/one-to-many    /bag  5编写类Salary的映射文件:Salary.hbm.xml Salary.hbm.xml?xml version1.0 encodingutf-8 ?hibernate-mapping xmlnsurn:nhibernate-mapping-2.2  class nameNhibernateSample1.Salary,NhibernateSample1 tableSalary lazyfalse    id nameId columnId unsaved-value0      generator classnative /    /id    property nameYear columnYear typeInt32 not-nulltrue/property    property nameMonth  columnMonth  typeInt32 not-nulltrue/property    property nameEnvy  columnEnvy  typeInt32 not-nulltrue/property    property nameMoney  columnMoney  typeDecimal not-nulltrue/property    many-to-one nameEmployee columnUid not-nulltrue/many-to-one  /class/hibernate-mapping 6编写CRUD类UserSalaryFixure.csusing System;using System.Collections.Generic;using System.Text;using System.Collections;using NHibernate;using NHibernate.Cfg;using NHibernate.Tool.hbm2ddl;namespace NhibernateSample1{    public  class UserSalaryFixure    {        private ISessionFactory _sessions;         public void Configure()        {            Configuration cfg  GetConfiguration();                  _sessions  cfg.BuildSessionFactory();        }        Configuration GetConfiguration()        {            string cfgPath  E:\my project\nhibernate study\simle 1\NHibernateStudy1\NhibernateSample1\hibernate.cfg.xml;            Configuration cfg  new Configuration().Configure(cfgPath);            return cfg;        }        public void ExportTables()        {            Configuration cfg  GetConfiguration();                       new SchemaExport(cfg).Create(true, true);        }        public User CreateUser(String name,string pwd)        {            User u  new User();            u.Name  name;            u.Pwd  pwd;            u.SalaryList  new ArrayList();            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                session.Save(u);                tx.Commit();            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                throw e;            }            finally            {                session.Close();            }            return u;        }        public Salary CreateSalary(User u, int year,int month,int envy,decimal money)        {            Salary item  new Salary();            item.Year  year;            item.Money  money;            item.Envy  envy;            item.Month  month;            item.Employee  u;            u.SalaryList.Add(item);            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                session.Update(u);                tx.Commit();            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                throw e;            }            finally            {                session.Close();            }            return item;        }        public Salary CreateSalary(int uid,int year, int month, int envy, decimal money)        {            Salary item  new Salary();            item.Year  year;            item.Money  money;            item.Envy  envy;            item.Month  month;                        ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                User u  (User)session.Load(typeof(User), uid);                item.Employee  u;                u.SalaryList.Add(item);                tx.Commit();            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                throw e;            }            finally            {                session.Close();            }            return item;        }        public Salary GetSalary(int salaryID)        {            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                Salary item  (Salary)session.Load(typeof(Salary),                    salaryID);                               tx.Commit();                return item;            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                return null;            }            finally            {                session.Close();            }            return null;        }        public User GetUser(int uid)        {            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                User item  (User)session.Load(typeof(User),                    uid);                tx.Commit();                return item;            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                return null;            }            finally            {                session.Close();            }            return null;        }        public void UpdateSalary(int salaryID, decimal money)        {            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                Salary item  (Salary)session.Load(typeof(Salary),                    salaryID);                item.Money  money;                tx.Commit();            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                throw e;            }            finally            {                session.Close();            }        }        public void Delete(int uid)        {            ISession session  _sessions.OpenSession();            ITransaction tx  null;            try            {                tx  session.BeginTransaction();                Salary item  session.Load(typeof(Salary), uid) as Salary; ;                session.Delete(item);                tx.Commit();            }            catch (HibernateException e)            {                if (tx ! null) tx.Rollback();                throw e;            }            finally            {                session.Close();            }        }    }} 7) 编写单元测试类UnitTest1.csUnitTest1.csusing System;using System.Text;using System.Collections.Generic;using Microsoft.VisualStudio.TestTools.UnitTesting;using NhibernateSample1;namespace TestProject1{    /**//// summary    /// UnitTest1 的摘要说明    /// /summary    [TestClass]    public class UnitTest1    {        public UnitTest1()        {            //            // TODO: 在此处添加构造函数逻辑            //        }        NhibernateSample1.UserSalaryFixure usf  new UserSalaryFixure();        其他测试属性#region 其他测试属性        //        // 您可以在编写测试时使用下列其他属性:        //        // 在运行类中的第一个测试之前使用 ClassInitialize 运行代码        // [ClassInitialize()]        // public static void MyClassInitialize(TestContext testContext) { }        //        // 在类中的所有测试都已运行之后使用 ClassCleanup 运行代码        // [ClassCleanup()]        // public static void MyClassCleanup() { }        //        // 在运行每个测试之前使用 TestInitialize 运行代码         // [TestInitialize()]        // public void MyTestInitialize() { }        //        // 在运行每个测试之后使用 TestCleanup 运行代码        // [TestCleanup()]        // public void MyTestCleanup() { }        //        #endregion        [TestMethod]        public void Test1()        {            usf.Configure();            usf.ExportTables();            User u  usf.CreateUser(Guid.NewGuid().ToString(), ds);            Assert.IsTrue(u.Id0);            Salary s  usf.CreateSalary(u, 2007, 3, 1, (decimal)8000.00);            Assert.IsTrue(s.Id  0);            Salary s1  usf.CreateSalary(u.Id, 2007, 3, 1, (decimal)7500);            Assert.IsTrue(s1.Id0);            usf.UpdateSalary(s1.Id, (decimal)6000);            s1  usf.GetSalary(s1.Id);            Assert.IsTrue(s1.Money  (decimal)6000);            usf.Delete(s1.Id);            s1  usf.GetSalary(s1.Id);            Assert.IsNull(s1);            User u1  usf.GetUser(1);            Assert.IsTrue(u1.SalaryList.Count0);        }    }} 加载测试元数据直到Test()通过。总结通过进一步学习nhiberate发现ORM框架真是非常强大。今天先到这里。明天继续。项目文件:/Files/jillzhang/simple2.rar 转载于:https://www.cnblogs.com/erichzhou/archive/2007/03/29/692949.html
http://www.yutouwan.com/news/347718/

相关文章:

  • 图表设计 网站园区网络设计
  • 购物网站建设实训心得体会国内WordPress相册插件
  • 打开网站自动弹出qq展示型企业网站
  • 南京市雨花区建设局网站淮南最新消息今天发布
  • 个人博客网站设计的目的网络营销做得好的企业
  • 网站欣赏与创建网页深圳企业500强名单
  • 中交建设集团 网站域名价格是怎么收费的
  • 辣条类网站建设规划书网络推广公司重诚
  • 平面设计创意网站建设自己做网站选什么好
  • 百捷网站建设wordpress免费自定义模板装修教程
  • 高端网站建设需要多少钱北京网站制作闪快
  • 网站建设空间和服务器方式关于网站建设的英文歌
  • 公司网站后台导航链接怎么做规划怎样做网站
  • 网站建设制作专业啥是东莞网站优化推广
  • wordpress全站ajax插件网络建设的流程网站
  • 商城网站设计注意什么外包网站建设报价
  • 外贸网站平台哪个好网站小图标怎么做的
  • 浙江台州做网站的公司有哪些医院门户网站开发
  • 安顺网站开发公司admin手机登录账号
  • 珠海新盈科技有限公司 网站建设淄博展厅设计公司
  • 站长之家最新网站网站icp查询
  • 桌面上链接网站怎么做如何做网站支付接口
  • 南宁网站推广v1展厅展馆设计
  • 泉州市住房与城乡建设网站签约网站做PPT
  • 19楼网站模板怎么更改公司网站域名
  • 那种网站打不开做摄影网站的目的是什么意思
  • 微信网站作用wordpress百度主动不推送了
  • 装修网站免费设计搜索引擎案例分析结论
  • 建设局工程网站知名企业名字
  • 申请免费个人网站和域名余姚做网站设计的公司