请注明转载地址:http://www.cnblogs.com/arhat 今天老魏那个汗啊,我的ThinkPad的电源线不通电了,擦啊.明天还得掏银子买一个!心疼啊,原装的啊.不过话说回来,已经用了将近10年了,已经算是可以的的了.不过就是心疼啊!明天还得给我的Thinkpad找个小三,哎! 通过前面两章的学习,我们知道了爱NHibernate中的核心技术就是懒加载,这个懒加载技术主要作用于有关系的表中,比如多对一,一对多.通过懒加载技术,我们可以很容易的获得关联的数据,但是懒加载却是有一个缺点…
请注明转载地址:http://www.cnblogs.com/arhat 第十五章 从本章开始,老魏将给大家一起学习NHibernate这个流行的ORM框架,本来老魏想要和大家一起探讨微软的EF框架的,但是有EF框架现在版本不确定,所以老魏决定先讲NHibernate吧.本来我们学习.NET技术的基本上没有接触过框架开发,用的都是微软官方提供的技术.但是现在随着微软的开放,出现了很多开源的框架,有其是ASP.NET MVC的出现,导致很多人想把J2EE中流行的SSH框架移植到.NET平台上.但是…
请注明转载地址:http://www.cnblogs.com/arhat 从本章开始,老魏带着大家来学习一下HQL语句.HQL语句NHibernate为我们提供的一种功能比较强大的查询语句,这个HQL语句和我们平时所用的SQL语句基本上是类似的,只不过有个别的地方需要们注意一下. 好,下面我们看一下如何来学习HQL语句,首先老魏得介绍一个对象IQuery,这个对象是用来进行查询操作.那么这个对象又ISession提供的CreateQuery()方法来创建.首先呢,我们在主程序中先写两个示例程序,…
请注明转载地址:http://www.cnblogs.com/arhat 通过上一章的学习,我们建立了Student和Clazz之间的关联属性,并从Student(many)的一方查看了Clazz的信息,同时我们使用了懒加载技术和立即执行的方式来实现了对象的关联查询,那么在本章中,我们继续来研究“多对一,一对多,懒加载”的问题. 在本章中,我们从Clazz(one端)来发送查询请求,查询一下班级中Student学生信息.首先呢,我们把上一届中的两个映射文件的内容更改一下,让它启用一下懒加载,即把…
请注明转载地址:http://www.cnblogs.com/arhat 通过上一章的学习,我们学会如何使用NHibernate对数据的简单查询,删除,更新和插入,那么如果说仅仅是这样的话,那么NHibenrate的优势有在哪里呢?那么今天就要和大家一起来分享一下NHibernate的优势--懒加载(初探). 我们知道,在关系数据库中,表和表之间是有联系的,那么通常情况下,我们通过连接查询能够把相关的数据查询处理,只是连接语句似乎大概写起来似乎是有些繁琐的,那么NHibenrate为我们提供了一…
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们配置了以下NHibernate的运行环境, 并介绍了NHibernate的中两个非常中重要的接口"ISessionFactory"和"ISession".那么今天我们将主要学习一下NHibernate是如何通过配置文件来操作数据库的. 重新打开我们的项目"NHibernateStudy".然后在通过MySql来创建School的一张表"Studen…
请注明转载地址:http://www.cnblogs.com/arhat 在前几章中,我们把HQL的基本查询学习了一下,但是只有基本查询很显然不能满足我们的需求,那么就需要一下复杂查询比如"连接查询","子查询"等.本章我们就围绕着这两个查询来学习一下. 现在我们的数据库中只有Student和Clazz两张表,同时这两张表有着多对一和一对多的关系,那么我们就根据这两张表来讲述连接查询吧(当然了,各位网友可以根据自身的情况来学习). 在NHibernate中,提供了4…
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,老魏带着大家学习了HQL语句,发现HQL语句还是非常不错的,尤其是在懒加载的时候,书写起来比较的舒服,但是这里老魏还得再次的说明一定要转换思想,HQL是对对象的查询,所以不应该还想着对表的操作,尤其是where条件中,更是把对对象的查询体现出来了.比如在本章,老魏接着和大家一起来讨论一下HQL语句. 根据上面的问题,我们来看看下面的查询是如何做的.请查询出位于班级号为1的学生的姓名和班级名称.我们更改一下主程序…
请注明转载地址:http://www.cnblogs.com/arhat 第二章 环境搭建 在上一章中,我们知道了NHibernate是用来干什么的了,那么今天在本章中,我们开始搭建NHibernate的运行环境,在讲述NHibernate的时候,我们采用C#控制台应用程序来讲解,等到后面的时候,我们使用ASP.NET MVC和NHibernate的结合来开发项目.在以前,老魏写过一个<ASP.NET MVC NHibernate 整合>,这篇文章老魏写的有问题,有其事Nhibernate的G…
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,老魏讲述了HQL的链接查询,本章呢,老魏开始讲述HQL的子查询.子查询在SQL中也是占据着非常重要的作用,如果没有子查询,则有些特殊的需求我们是无法满足的.好了,废话不多说了,开始本章的旅行. 首先NHibenrate对于子查询有着一个非常重要的要求:"HQL中,子查询必须出现在where子句中,并且以一对圆括号包围".这条规矩希望大家能够牢记在心中. 比如,我们现在要查询出,班级人数大于2的班级名称…
Pyhon-djano提供了一个很强大的后台管理功能,你很轻松的就可以拥有一个后台管理平台.你需要做啥呢?你只需要将需要管理员进行管理的表注册到管理site中即可: from django.contrib import admin # Register your models here. from .models import Restaurant, Category, Order admin.site.register(Restaurant) admin.site.register(Categ…
请注明转载地址:http://www.cnblogs.com/arhat 首先这个<一步步学习ASP.NET MVC3>前段时间有些忙,没有顾得上写文章,昨天呢写了3个和ASP.NET的相关的文章,和Spring.NET,NHibernate的相结合的.这个虽说写的有点早了,但是后续我会尽快的把Spring.NET和NHibernate的相关系列写出来,时间虽然不确定,这里呢老魏先说声抱歉,我尽可能的抽出时间来写. 本身写文章就是件耗时的工作,不仅要思虑清晰,通俗易懂,还得配上相关的插图和示例…
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等引用类型 一步步学习javascript基础篇(4):面向对象设计之创建对象(工厂.原型和构造函数等模式) 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承) 一步步学习javascript基础篇(6):函数表达式之[闭包] 一步步学习javascript基础篇(7):…
终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能阅读了.有了事件,我们可以通过键盘或是鼠标和页面交互了,通过我们不同的操作页面给出不同的响应.好了,开始我们今天的分析吧. DOM0级事件处理方式 什么是DOM0级? 其实世上本来没有DOM0级,叫的人多了就有了DOM0级. 在1998 年 10 月 DOM1级规范成为 W3C 的推荐标准,在此之前…
一.什么是BOM.什么是DOM BOM即浏览器对象模型,主要用了访问一些和网页无关的浏览器功能.如:window.location.navigator.screen.history等对象. DOM即文档对象模型,针对HTML(或XML)文档的API(应用程序编程接口).描绘的一个层次化的节点树,开发人员可以添加.修改和删除页面的某一部分. 二.细说BOM对象 1.window对象 window对象表示浏览器的一个实例,同时也是ECMAScript 规定的 Global 对象.(Global :所…
回顾前面介绍过的三种定义函数方式 1. function sum (num1, num2) { return num1 + num2; }  //函数声明语法定义 2. var sum = function(num1, num2){ return num1 + num2; }; //函数表达式定义 3. var sum = new Function("num1", "num2", "return num1 + num2"); //Function…
上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承. 一.原型链继承 1.通过设置prototype指向“父类”的实例来实现继承. function Obj1() { this.name1 = "张三"; } function Obj2() { } Obj2.prototype = new Obj1(); var t2 = new Obj2(); alert(t2.name1); 这里有个明显的缺点就是:(如果父类的属性是引用类型,那么我们在对象实例修改属性的时候会把原型中…
前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码. 接下来介绍几种模式来创建对象.不过在此之前,我们还是先来了解下 typeof和instanceof . typeof和instanceof //typeof主要用了检查值类型数据,如: alert(typeof (1) + " " + typeof ("1") + " " + typeof (false) + "…
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂数据类型(即引用数据类型) Object类型 我们用的最多的引用类型就属object类型了,一般用来存储和传输数据是再好不过的.然,它的两种创建方式我们是否了解呢? 1.通过构造函数来创建 如: var obj = new Object(); 在js中的引用类型有个非常灵活的用法,可以动态的附加属性和赋值.…
作用域和作用域链 js的语法用法非常的灵活,且稍不注意就踩坑.这集来分析下作用域和作用域链.我们且从几道题目入手,您可以试着在心里猜想着答案. 问题一. if (true) { var str = "李四"; } alert(str);//弹出值是? 问题二. function add(num1, num2) { var sum = num1 + num2; } add(1,2); alert(sum) //弹出值是? 问题三. var str1 = "张三"; v…
一.数据类型 数据类型 基本数据类型(五种) Undefined Null Boolean Number String 复杂数据类型(一种) Object Undefined:只有一个值undefined(定义了没有赋值). 例: var str; alert(str);//undefined 注意:如果没有用var申明,直接使用会报异常( ... is not defined). 建议:每次var声明都赋初始值,可以减少很多意外情况. 如: var str; var str2="张三"…
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介绍及第一个脚本案例.shell脚本基础知识-作用地位-比其他语言优势.建立一个规范的shell脚本.执行shell脚本的多种方法及重要区别精讲.shell脚本开发的9点基本规范和习惯.shell的变量-变量类型-全局变量相关知识讲解.shell的特殊变量-难点理论与实战剖析.批量修改文件名及扩展名多…
iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其所指向对象的所有权 当某个方法(或函数)有一个指向某个对象的局部变量时,可以称该方法(或函数)拥有该变量所指向的对象,如: int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSSt…
请注明转载地址:http://www.cnblogs.com/arhat 对于<一步步学习ASP.NET MVC3>系列工15章,那么为了方便大家能够快速的预览,老魏在这里为这个系列提供一个章节目录.由于老魏只是水平是有限,不能把ASP.NET MVC的精髓讲述出来,希望大家不要介意,希望大家能够和老魏一起来研究ASP.NET MVC,提升我们自身的能力,能够深入的研究ASP.NET MVC. 一步步学习ASP.NET MVC3 (1)——基础知识 一步步学习ASP.NET MVC3 (2)—…
请注明转载地址:http://www.cnblogs.com/arhat 首先在这里我想声明一下,这个ASP.NET MVC3系列是我在授课过程中的一些经验,有什么不对的地方,请大家指出,我们共同的学习. 以前总是在课堂上讲解一些新技术,由于时间有限不可能全部都讲到位,所以我想在闲暇的时候能够把平时我的开发经验和学习的新知识传授给大家.那么这个Blog就诞生了,本来很早的时候就想把一些东西都写到Blog上,但是由于平时比较忙没有顾上,趁着年前有时间就弥补一下遗憾吧! 可能大家看到Blog上的随笔…
请注明转载地址:http://www.cnblogs.com/arhat 忙了两天,本来老魏昨天就应该写出新的文章,但是由于昨天雨夹雪而且加上昨天晚上加了班,到家都没饭吃了,一看时间都9点了,什么饭店都没有了,于是灰溜溜的就回家吃了包泡面,晚上老婆挺着大肚子还得伺候啊,所以时间就不允许了.今天老魏要补上一章了. 前面几章把ActionResult的子类讲的差不多了,今天应该是最后一个了FileResult.但是不幸的是FileResult也是个抽象类,其子类有FilePathResult,Fil…
接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Author(models.Model): first_name = models.CharField(max_length=) last_name = models.CharField(max_length=) email = models.EmailField(blank=True ) 所有字段都默认bl…
如果要做嵌入式Linux,我们首先要在板子上烧写的往往不是kernel,而是u-boot,这时需要烧写工具帮忙.当u-boot烧写成功后,我们就可以用u-boot附带的网络功能来烧写kernel了.每当板子上电时,u-boot一般会被加载到内存的前半段,如果我们的kernel之前就已经被烧写到开发板了,那么u-boot会加载kernel到内存的后半段并跳转到kernel的起始地址处执行(或者直接跳转到kernel的起始地址处执行,如果kernel可以直接在flash上执行的话.) 如上图所示,绿…
http://blog.csdn.net/jiuqiyuliang/article/details/19967031 目录: 基于asp.net + easyui框架,一步步学习easyui-datagrid——界面(一) 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二) 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现添加.编辑.删除(三) 基于asp.net + easyui框架,一步步学习e…
Git 学习(七)标签管理 发布版本时,通常会先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本.取出某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支雷同,但分支可以移动,标签不可):创建和删除标签都是瞬间完成的. 本文具体说明 Git 中是如何创建标签及操作标签的. 创建标签 Git 标签的命令很简单,首先简单浏览下方的 Git 命令: git tag        …