摘要:
IBatis在从连接到SQL Server转换成MySQL时,会发现出现一些问题,可以check以下几点: 1. 项目的Data层需要引用MySQL.Data.dll(安装mysql的目录可以找到) 2. provider.config可以从官网下载的Ibatis.DataMapper.1.6.2.bin下面找到; 3. provider.config的enabled应改成... 阅读全文
摘要:
对于可访问的数据成员(指的是类外部可以访问),就是指在类中,用public修饰的简单的公共变量。 而属性,要比这个复杂得多,同时,自从1.0以来,C#对属性进行了一系列的增强,属性愈发强大。 1. 从概念上讲 属性是对私有字段的访问进行封装,它提供了对私有字段灵活的读、写和计算操作。在C#中,我们通过get和set访问器来实现对属性的读和写操作。 2. 从本质上来说 属性让我... 阅读全文
摘要:
原文地址:http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory_401282006141834PM/csharp_memory_4.aspx 绘图(Graphing) 让我们从GC的角度来看这个问题。如果我们的目标是“移除垃圾”,那么我们需要一个计划,使之更有效。显然,我们需要判断什么是垃圾,什么不是(对于有敛癖(pack-rats)的人,这可能就有点痛苦了。)。为了决定什么该被保留,我们首先假定,任何没有被使用的即使垃圾(墙角成堆的旧报纸、阁楼上的舢板、衣柜里所有的东西,等等)。假设我们有2个朋友,Josep... 阅读全文
摘要:
原文地址:http://www.c-sharpcorner.com/UploadFile/rmcochran/chsarp_memory401152006094206AM/chsarp_memory4.aspx A Copy Is Not A Copy 为了清楚的说明这个问题,我们来校验以下两种情形将会发生什么情况:位于堆里面的一个值类型和位于堆里面的一个引用类型。我们先看值类型。看下面的class和struct。我们有一个Dude类,该类包含一个Name元素和两个Shoe(s)。同时,添加一个CopyDude()方法来更加方便的new Dudes. public str... 阅读全文
摘要:
原文地址:http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory2B01142006125918PM/csharp_memory2B.aspx 在PartI中,我们讨论了堆和栈的基本功能以及程序执行时,值类型和引用类型是如何被分配内存的。我们还讨论了什么是指针。 Parameters, the Big Picture 下面是当我们代码执行时,发生哪些事情的详细视图。PartI我们讨论了基本的内容,这部分我们将更加深入…… 当我们调用一个方法时,下面是所发生的事情: 1. 为执行方法所需要的信息分配内存空间(称作栈帧(S.. 阅读全文
摘要:
原文地址:http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx 虽然在.NET framework中,我们没有必要过多的担心内存管理和垃圾回收(GC),但是,为了优化我们的应用程序,我们还是需要记住这内存管理和垃圾回收的。同时,对内存管理是如何工作... 阅读全文
摘要:
.NET的垃圾收集器(GC)让我们从繁杂的内存管理工作中解脱出来。它可以很好的管理内存,也会以一种非常高效的方式来移除内存对象中的垃圾对象。但是,尽管高效,如果我们的代码写的不够良好,不仅分配对象需要花费时间,GC帮我们销毁垃圾对象也是需要花费时间的。因此,我们应该通过一些方法来避免这些花费。 1)将被频繁调用的引用类型的局部变量提升为成员变量 举个例子,窗体的Paint处理函数中创建GDI对象 protected override void OnPaint(PaintEventArgs eventArgs) { using (Font myF... 阅读全文
摘要:
MyBatis的前身是IBatis,至于为什么从iBatis改成MyBatis以及代码为什么从Apache迁移到Google Code,大家可以参照 凤凰涅槃:从 iBatis 到 MyBatis。 这部分我们主要介绍MyBatis是什么,以及他是如何工作的。本系列的参考主要源自官方的文档《Data Mapper Guid-1.6.2》,我们将保持文档中对iBatis的叫法,英文好的可以直接上官方看哦。 1. 介绍 iBatis是一个数据映射框架,它使我们的Java/.Net应用程序能够更加简洁的跟数据库打交道。iBatis通过一系列的XML配置文件,解耦了对象和存储过程/SQ... 阅读全文
摘要:
通过前面对查询表达式和标准查询操作符的介绍,我们基本掌握了LINQ to Objects的技术,因为LINQ to Objects没有独立的API,所以,我们在学习了之前的2大部分后,就基本学会了LINQ to Objects了,剩下的就是如何将各个操作符结合起来使用了。 因此,本篇不再做更多的介绍。 阅读全文
摘要:
SQL Server 2000中提供了查询分析器以供我们进行存储过程调试,但是,从2005以后,这个功能已经移到Visual Studio IDE中。Visual Studio提供的这项技术,可以方便我们进行存储过程的调试,包括触发器,用户自定义函数等数据库对象的调试。 下面,我们一步步来看,如何通过Visual Studio IDE来调试存储过程。 1. 在Visual Studio中... 阅读全文