摘要: 连接池的概念1)连接池是一个进程 多个连接是在一个进程里面存储、管理的。这个进程保存所有的连接,当我们打开连接,如果有未用连接可用,则返回该连接。如果池中的连接都用完了,则创建一个新的连接保存到连接池。而但我们关闭连接的时候,连接池里面并不关闭连接,而是返回连接池中并标记为可重用的状态,等待重新连接直到等待超时。再次打开连接的时候,我们就可以重用上次的连接。如果在这个时间内没有连接请求(打开连接),这个数据库连接将被关闭,并从连接池中移除这个连接实例。如果池中连接到达了最大连接数,请求进入等待队列直到空闲连接可用。如果在可获取连接对象之前超时期限已过(由ConnectTimeout连接字符串. 阅读全文
posted @ 2011-10-11 13:51 Charliee 阅读(3437) 评论(0) 推荐(0) 编辑
摘要: 1 SQL注入攻击概述1.1 SQL注入技术定义SQL注入(SQL Injection)技术在国外最早出现在1999年,我国在2002年后开始大量出现,目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述:(1)脚本注入式的攻击(2)恶意用户输入用来影响被执行的SQL脚本Chris Anley将SQL注入定义为,攻击者通过在查询操作中插入一系列的SQL语句到应用程序中来操作数据。Stephen Kost[3]给出了SQL注入的一个特征,“从一个数据库获得未经授权的访问和直接检索”。利用SQL注入技术来实施网络攻 击常称为SQL注入攻击,其本质是利用Web应用程序中所输入的S 阅读全文
posted @ 2011-10-11 13:39 Charliee 阅读(429) 评论(0) 推荐(0) 编辑
摘要: E-R图为实体-联系(Entity-Relation)图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:· 实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。· 属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。 · 联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 阅读全文
posted @ 2011-10-11 13:20 Charliee 阅读(1549) 评论(0) 推荐(0) 编辑
摘要: 事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了所使用的锁定行为:数据库在被广大客户所共享访问的操作过程中很可能出现以下几种不确定情况 :1.脏读取(Dirty Reads):一个事务开始读取了某行数据但是另外一个事务已经更新了此数据但没有能够及时提交。这是相当危险的。假设事务T2中事务T1提交前读取了T1写过的数据项Balance(存款),在事务T1提交前就释放了Balance上的写锁时就可能发生这种问 阅读全文
posted @ 2011-10-11 13:08 Charliee 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作。 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: · 更新客户所购商品的库存信息 · 保存客户付款信息--可能包括与银行系统的交互 · 生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变 阅读全文
posted @ 2011-10-11 11:06 Charliee 阅读(3424) 评论(0) 推荐(0) 编辑
摘要: 左连接,右连接,内连接,外连接联接条件可在 FROM 或 WHERE 子句中指定,建议在 FROM 子句中指定联接条件。WHERE 和 HAVING 子句也可以包含搜索条件,以进一步筛选联接条件所选的行。联接可分为以下几类:内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。外联接。外联接可以是左向外联接、右向外联接或完整外部联接。在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:LEFT 阅读全文
posted @ 2011-10-11 11:00 Charliee 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1 <?php 2 /** 3 * 中介者模式 4 * 5 * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 6 */ 7 abstract class Mediator 8 { 9 abstract public function send($message,$colleague);10 }11 12 abstract class Colleague13 {14 private $_mediator = null;15 16 public function Colleague($medi... 阅读全文
posted @ 2011-10-11 10:49 Charliee 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一、功能 保证一个类仅有一个实例。二、结构图三、优缺点 Singleton模式是做为"全局变量"的替代品出现的。所以它具有全局变量的特点:全局可见、贯穿应用程序的整个生命期,它也具有全局变量不具备的性质:同类型的对象实例只可能有一个。四、实现class Singleton{public: static Singleton* Instance();protected: Singleton() { }private: static Singleton* _instance; Singleton(const Singleton&); Singleton& oper 阅读全文
posted @ 2011-10-11 10:42 Charliee 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 作用:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。比如,QQ中你的好友上线下,他们的头像亮起,熄灭。以下是参考代码#include <Windows.h>#include <list>using namespace std;class Subject;class Observer {public: virtual ~Observer(); virtual void Update(Subject* theChangedSubject) = 0;protected: Observer();};class Subje 阅读全文
posted @ 2011-10-11 10:40 Charliee 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、功能 将抽象部分与它的实现部分分离,使它们都可以独立地变化。二、结构图三、示例代码namespace DesignPattern_Bridge{ // class Implementor class Implementor { public: virtual void OperationImp() = 0; }; // class ConcreteImplementorA class ConcreteImplementorA : public Implementor { public: virtual void Ope... 阅读全文
posted @ 2011-10-11 10:35 Charliee 阅读(206) 评论(0) 推荐(0) 编辑