数据库对象

PHP用单例模式实现一个数据库类

ぃ、小莉子 提交于 2020-02-12 03:08:32
使用单例模式的出发点:     1、php 的应用主要在于数据库应用 , 所以一个应用中会存在大量的数据库操作 , 使用单例模式 , 则可以避免大量的 new 操作消耗的资源。   2、如果系统中需要有一个类来全局控制某些配置信息 , 那么使用单例模式可以很方便的实现 . 这个可以参看 ZF的 FrontController 部分。   3、在一次页面请求中 , 便于进行调试 , 因为所有的代码 ( 例如数据库操作类 db) 都集中在一个类中 , 我们可以在类中设置钩子 , 输出日志,从而避免到处 var_dump, echo 。 创造单例注意:   1、一个雷只能有一个类对象(只能实例化一个对象)   2、它必须自己创建这个实例   3、它必须自行向整个系统提供这个实例   4、构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去单例模式的意义   5、 getInstance()方法必须声明为公有的,必须调用此方法以返回唯一实例的一个引用   6 、拥有一个保存类的实例的静态成员变量   7、PHP的单例模式是相对而言的,因为PHP的解释运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收   8 、拥有一个访问这个实例的公共的静态方法(常用 getInstance() 方法进行实例化单例类,通过 instanceof

浏览器同域名请求的最大并发数限制

空扰寡人 提交于 2020-02-11 04:38:14
当我们在浏览网页的时候,对浏览速度有一个重要的影响因素,就是浏览器的并发数量。并发数量简单通俗的讲就是,当浏览器网页的时候同时工作的进行数量。 如果同时只有2个并发连接数数量,那网页打开的时候只能依赖于这2条线程,前面如果有打开慢的内容,就会直接影响到后面的内容打开。但是如果同时有更多的并发连接数,这样就会大大的提高网页加载速度。详情可查看我们之前发布的文章: 并发连接数对浏览器加载速度的测试 。浏览器的并发连接数也并非越大越好。 下表概括了基于主机上运行的IE浏览器的版本的最大并发连接数、主机的连接速度和服务器的受支持的协议版本。 1,HTTP客户端一般对同一个服务器的并发连接个数都是有限制的。 实际上,浏览器确实使用并行连接,但它们将并行连接的总数限制为少量(通常为四个)。 服务器可以自由地关闭来自特定客户端的过多连接。 2,一些主流浏览器对HTTP 1.1和HTTP 1.0的最大并发连接数目,可以参考如下表格: 浏览器 HTTP / 1.1 HTTP / 1.0 IE 11 6 6 IE 10 6 6 IE 9 10 10 IE 8 6 6 IE 6,7 2 4 火狐 6 6 Safari 3,4 4 4 Chrome 4+ 6 6 歌剧9.63,10.00alpha 4 4 Opera 10.51+ 8 ? iPhone 2 4 ? iPhone 3 6 ? iPhone

Oracle数据库自带表或者视图

醉酒当歌 提交于 2020-02-10 21:26:00
dba_开头 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 dba_rollback_segs 回滚段信息 dba_ts_quotas 用户表空间配额信息 dba_free_space 数据库空闲空间信息 dba_profiles 数据库用户资源限制信息 dba_sys_privs 用户的系统权限信息 dba_tab_privs 用户具有的对象权限信息 dba_col_privs 用户具有的列对象权限信息 dba_role_privs 用户具有的角色信息 dba_audit_trail 审计跟踪记录信息 dba_stmt_audit_opts 审计设置信息 dba_audit_object 对象审计结果信息 dba_audit_session 会话审计结果信息 dba_indexes 用户模式的索引信息 user_开头 user_objects 用户对象信息 user_source 数据库用户的所有资源对象信息 user_segments 用户的表段信息 user_tables 用户的表对象信息 user_tab_columns

oracle-11g-闪回技术

*爱你&永不变心* 提交于 2020-02-10 01:04:25
一.4种闪回技术: ①闪回数据库   以当前数据库为起点,在时间上回退,逐步改变知道顺序回退完成的所有工作。最终的结果就像是执行了不完整恢复,将丢失闪回点之后的所有工作,   并且实际上得使用resetlogs打开数据库。         !!!!!闪回数据库不能撤销物理损坏,只能恢复由用户错误造成的逻辑错误。 ②闪回查询、事务和表   三种闪回技术都基于使用撤销段(undo段)。     (1)闪回查询:允许查询过去某个时间的数据库,利用此技术甚至可以选取过去某段时间内一个行的所有版本,以便了解改行的历史操作,包括操作        时间、操作人和做出每个更改的事务的标识符。     (2)闪回事务自动执行修复过程。一旦使用了闪回查询确认了引起问题的事务,oracle可以构造SQL语句来反转事务中的更改。无法回滚提交的更改,       但可以构造另一事务以反转第一个错误事务的影响。与闪回数据不同的是:闪回事务并不会丢失数据,所做的其他所有工作仍然有效,并且数据库保持当前状态。     (3)闪回表:指示oracle反转从特定时间点以来对该表所做的所有更改,而保持其他所有表的当前状态。 ③闪回删除:可以撤销删除一个表,通过将drop命令映射到rename命令实现,不能实现truncate的闪回,purge的闪回,,可以还原任何相关的索引       及权限和表本身(外键约束除外)

java 三大框架——Hibernate

本小妞迷上赌 提交于 2020-02-09 14:37:11
Hibernate框架简介 Hibernate框架是一款数据持久型的框架也是一款ORM框架 数据持久型:是将数据存入数据库或将数据库里的数据读入程序中 ORM:我们说JAVA中是面向对象的思想 而现在市场中大部分使用的数据库都是关系型数据库,如果利用面向对象语言来操作关系型数据库的话,其中会出现一些很麻烦的代码,会阻碍我们进行开发造成了没必要的麻烦,所以ORM提供了一种能使用对象来调用数据库里的每一条数据,具体是以类来对应数据库中的表,以对象来对应表中的字段,以对象来对应表中的每一条数据。 在了解Hibernate之前 首先回顾一下JDBC是如何操作数据库的 1,加载mysql驱动 2,获取连接 3,获取数据的操作对象 4,进行数据库的操作 5,关闭资源 在Hibernate结构目录中分别有以下几个结构 documentation(文档) lib(jar包) project(源代码) 对于初学这款框架的程序员来说 先进入lib包下进行导包 hibernate框架的jar包就分的很详细 lib中会发现有这几种envers jpa optional osgi required 一般情况下只导入required下的jar包即可 这些jar都是必须存在的 optional中的jar包主要是用于优化hibernate的性能 包括数据连接池和缓存两部分 接下来了解下Hibernate的相关配置

数据库学习之JDBC

爷,独闯天下 提交于 2020-02-08 01:02:58
JDBC JDBC:SUN公司为了简化开发人员对数据库的统一操作,提供了一个java操作数据库的规范,称为JDBC。 我们只需掌握JDBC接口即可。 第一个JDBC程序 创建测试数据库 CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY, NAME VARCHAR(40), PASSWORD VARCHAR(40), email VARCHAR(60), birthday DATE ); INSERT INTO users(id,NAME,PASSWORD,email,birthday) VALUES(1,'zhansan','123456','zs@sina.com','1980-12-04'), (2,'lisi','123456','lisi@sina.com','1981-12-04'), (3,'wangwu','123456','wangwu@sina.com','1979-12-04'); 1、创建一个普通的项目 2、导入数据库驱动 测试代码: package com . llx . study01 ; import java . sql . * ; public class

Java第十九章-数据库操作

不羁岁月 提交于 2020-02-07 03:12:46
绪论 //数据库系统是由数据库、数据库管理系统、应用系统、数据库管理员构成的。 连接数据库 //通过创建的getConnection()方法,获取与MySQL数据库的连接。 package 数据库操作; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; public class Conn { //声明Connection对象 Connection conn; public Connection getConnection() { //加载数据库驱动类 try { Class.forName("com.myaql.jbdc.Driver"); System.out.println("数据库加载成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //通过访问数据库的URL,获取数据库连接对象 try { conn = DriverManager.getConnection("jdbc.mysql:" + "//127.0.0.1:3306/test","root", "123456"); System.out.println(

Django中ORM介绍和字段以及字段参数

末鹿安然 提交于 2020-02-07 02:47:39
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 ORM由来 让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。 几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。 按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复的。 ORM的优势 ORM解决的主要问题是对象和关系的映射。它通常把一个类和一个表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。 ORM的劣势 ORM的缺点是会在一定程度上牺牲程序的执行效率。

大型网站系统与 Java 中间件实践

孤者浪人 提交于 2020-02-06 14:13:47
http://wanglizhi.github.io/2016/07/27/JavaWeb-And-MiddleWare/ 第一章 分布式系统介绍 分布式系统的定义:组件分布在网络计算机上,组件间仅仅通过消息传递来通信并协调行动。 分布式系统的意义: 升级单机处理能力的性价比越来越低 单机处理能力存在瓶颈 处于稳定性和可用性的考虑 摩尔定律:当价格不变时,每隔18个月,集成电路上可容纳的晶体管数目会增加一倍,性能也将提升一倍。 线程与进程的执行模式 冯诺依曼结构:输入设备、输入设备、运算器、控制器、存储器。 基于共享容器协同的多线程模式:经典如生产者消费者问题,对于存储数据的容器或对象,有线程安全和不安全之分,对于不安全的容器或对象,一般可以通过加锁或者通过Copy On Write的方式控制并发。 通过事件协同的多线程模式:避免死锁 多进程模式: 线程是属于进程的,一个进程内的多个线程共享了进程的内存空间;而多个进程间的内存空间是独立的,因此多个进程间通过内存共享、交换数据的方式与多个线程间就有所不同 此外,进程间通信、协调,以及通过一些事件通知或者等待一些互斥锁的释放方面也不一样 多进程相对于单进程多线程来说,资源控制会更容易实现;多进程中单个进程出现问题,不会造成整体的不可用 多进程之间可以共享数据,但其代价较大,会涉及序列化和反序列化的开销 网络通信基础知识

PowerDesigner 使用教程(很具体,很实用)

柔情痞子 提交于 2020-02-06 03:17:39
原文地址为: PowerDesigner 使用教程(很具体,很实用) 1、 PowerDesigner 使用教程 从今日开始,每天一部分内容,在每个工作日,争取让大家天天都有的看,每天内容不会太多。 有错误的地方还请大家指正。 PowerDesigner简介   PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。 PowerDesigner主要包括以下几个功能部分:   (1) DataArchitect 这是一个强大的数据库设计工具,使用DataArchitect可利用实体-关系图为一个信息系统创建"概念数据模型"-CDM(Conceptual Data Model)。并且可根据CDM产生基于某一特定数据库管理系统(例如:Sybase System 11)的"物理数据模型"-PDM(Physical Data Model)。还可优化PDM