07 2020 档案
摘要:现实现一个小列子,引出IOC/DI的场景应用。 一。学生通过骑自行车回学校 1.1 返校交通工具接口,只定义了一个返校的方式方法,不同的交通工具实现改方法 public interface ITool { void GoWay(); } 1.2 自行车实现上述接口 1 public class Bi
阅读全文
摘要:Spring.Net中,容器对象部署分为单列(singleton)和非单列模式(非singleton)。单列模式下,即一个对象被定义为singleton时,容器中就只会有一个共享实例,任何时候通过id或别名请求该对象,都只会返回改共享实例。也就是说,这个实例之会被创建一次。但使用非Singleton
阅读全文
摘要:最近在spring.net框架,首篇学习了IOC/DI。通过简单的学习,我们是从配置xml文件中,添加<object>节点,然后创建容器,再创建容器对象。所以,实现一个ioc,一。需要读取配置文件xml中的节点对象 二。通过反射,将ioc对象,保存到一个字典中。 IOC/DI:反转了以往web程序创
阅读全文
摘要:今天看NHibernate文档,发现了NHibernate提供批量操作数据的支持,目前仅支持sql server和Oracle,果断要试试啊。结果发现,竟然批量插入Oracle数据无效。以下是我的hbm配置文件内容。 1 <hibernate-configuration xmlns="urn:nhi
阅读全文
摘要:一。Load方法 Load()方法可以对查询方法进行优化 Load()方法实际得到的是一个proxy对象,并没立即查询数据库,只有对对象的属性进行访问时,才查询数据库。在NHibernate中,被称为Laze Loading(延迟加载) Load()方法得到的对象,如果对象不存在,访问对象的属性,会
阅读全文
摘要:对于web和企业来说,跨用户交互过程的数据事务是不可接受的。单一的应用事务中可能会跨多个数据库事务。如果这些数据库事务只有一个(最后一个)进行了更新数据,其他的只是简单的读数据,则这个应用事务就是原子性的。如果出现多个用户同时写入了一条数据,最后结果是不确定的。如果多个用户删除了同一条数据,就会异常
阅读全文
摘要:简短的说明,SESSION和COOKIE就是存储用户单元访问web程序时,保存的用户对象信息。因为HTTP请求是无状态的。那么对于一个用户的多次操作,怎么对应衔接起来,对于多用户一起操作,怎么区分开。这个时候,可以使用SESSION或COOKIE保存用户信息。 SESSION特点: 信息是保存在服务
阅读全文
摘要:在NHibernata中,提供了l缓存机制。Clear和Flush都是针对session缓存(一级缓存)中的数据。无论还是load()还是get(),都是先查询缓存(一级缓存),没有再查询数据库。如下代码,执行了同一个id的2次查询,但是执行了一次sql的查询。 1 using (ITransact
阅读全文
摘要:在说明什么是POCO类之前,首先要说明的概念就是,什么是持久化类? 一。持久化类 在应用程序中,实现业务问题的的实体就是持久化类。但是不能认为持久化类的实例都是持久化的,它也可以是脱管状态或瞬时状态。 二。POCO类(Plain Old CLR Object) 如果这些持久化类遵循一些简单的规则,N
阅读全文
摘要:MVC-即Model,View,Controller,三层架构模式。model作为领域模型,是维持应用状态,提供业务功能的领域模型;View-指UI层,用于和用户的交和页面的展示;而Controller则是定义具体了UI 逻辑功能。传统的MVC模式,并没有严格的定义,即Model层也可以直接返回给v
阅读全文
摘要:在N'hibnate中,提供了多种查询方法。这里主要介绍两种:HQl查询和SQl查询。 一。Nhibnate支持的HQl查询方式。例如句:select h.SeqId from LeaseUser。该查询语句中,LeaseUser是实体对象,而SeqId是实体中的属性。因为查询对象是实体,所以可以直
阅读全文
摘要:在使用NHiberanter,创建一个session上下文,进行语句执行时,出现了标题所示错误。控制台调用代码如下: public static void Main(string[] args) { //NHibernateProfiler程序分析初始化 //HibernatingRhinos.Pr
阅读全文
记录一次随意操作数据库,插入新数据,导致与程序添加新数据时,引起的主键值重复问题。More than one row with the given identifier was found: 1690
摘要:今天系统用户反馈了一个问题,根据分析发现,在Oracle数据库表中,主键值1690出现了重复。经过反复排查,发现表对应的序列号的值比对应的表中生成的id值要小,查看数据发现,表中的部分数据是直接insert语句插入的,而这个时候,又未同步更新表序列,通过应用程序生成的数据又是根据序列同步生成的,这个
阅读全文
摘要:一。什么是IOC.(Inversion of Control) IOC,即控制反转。不是什么技术,而是一种思想。在传统开发中,我们需要某个对象时,就手动去new一个依赖的对象。而IOC意味着将对象的控制权交给容器,而不在是直接在对象的内部控制。如何理解IOC呢?理解好IOC的关键是要明确‘谁控制了谁
阅读全文
摘要:背景: 在一次web网站开发维护中,使用手机验证码进行登录。再点击获取手机验证码时,验证码按钮并没有置灰,同时也没有出现倒数读秒的效果。 设置按钮倒数60秒前端代码: var clock = ''; var nums = 60; var btn; function sendCode(thisBtn)
阅读全文
摘要:赘述:今日所读,代理模式,只是今日所理解,略显稚嫩和浅薄。在博客中记录这些,也不是为了指导谁,只是记录下今日所学,所思,是谓产出。 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 从代理模式的定义,不难看出,代理模式是提供了一个代理类,可以控制被代理对象的访问。类似于房产中介中的中介,可以
阅读全文
摘要:今天做数据保存时,出现的一个小问题。根据以往编码的肌肉记忆,我觉得不应该这样。所以这个问题出现的很有价值,特记下,已备后期思考。 代码如下: int recordId=0; var record = new LeaseCallRecords() { FormPhone = sourceTelphon
阅读全文
摘要:在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置。这里做了一下总结。 方式一: 在运行时编程配置,代码如下: class Program { private readonly static ILog log = InitILog(); //private readonly
阅读全文
摘要:在学习log4net之后,想搭建一个简单的向控制台程序输入日志的log4net配置。没有创建新的config或xml配置Log4net,而是使用控制台生成的App.config中进行配置。配置信息如下: <configuration> <configSections> <section name="
阅读全文
摘要:模式-装饰模式:装饰,之于装饰为谓词,可见,对于oop,该模式下,对象的职能是可动态扩展的,执行顺序是可以随意排序的,以达到不同的效果。其比较广泛的定义: 装饰模式(Decorator):动态的给一个对象添加一些额外的职能,就添加功能来说,装饰模式比生成子类更为灵活。 那么,装饰模式,它的实际应用场
阅读全文
浙公网安备 33010602011771号