- 博客(41)
- 收藏
- 关注
转载 各种数据库的连接方式
1 将数据库的JDBC驱动加载到classpath中,在基于JAVAEE的WEB应用实际开发过程中,通常要把目标数据库产品的JDBC驱动复制到WEB-INF/lib下. 2 加载JDBC驱动,并将其注册到DriverManager中,下面是一些主流数据库的JDBC驱动加裁注册的代码: //Oracle8/8i/9iO数据库(thin模式) Class.forName("oracle.jdb
2010-02-04 16:32:00 779
原创 我们
因为步伐的加快,因为我们变化的提速,因为全球的不确定,我们坚持却找不到内心的依据,我们放弃却发现新的开始太艰难我们积聚在别人的领地却不情愿,我们坚守在自己的船上却难以靠岸,我们徘徊却丧失了应有的机遇,我们奋斗却看不清前方的激流险滩,我们焦虑,却不知道其所以然,我们淡漠却无法面对内心的呼唤,但是我们任要在社会快速跳动的脉搏中找到稳压器,我们一定要在世界的不确定中紧握方
2009-10-13 21:29:00 395
转载 Java IO操作之File类简单操作
Java IO操作之File类 2009-07-28 09:45File类一个File类的对象,表示了磁盘上的文件或目录。File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。------------Java API:------------ java.io 类 Filejava.lang.Objectjava.io.File所有已实现的接口: Serializa
2009-08-17 22:03:00 795
原创 JavaBean的生命周期
%@page contentType="text/html;charset=GB2312"%>public class Counter{ private int counter=0; public String getCounter() { return ""+counter++ }}1.page范围当前计数是:无论你如何刷新页面显示永远是1.原因是,在page范围里,当
2009-08-17 18:25:00 4012
原创 application的应用
application的常用方法: //返回servlet的版本信息 //返回虚拟路径的真实路径 //返回一个URL对象,该对象反映位于给定URL地址的servlet环境中的资源(一)运用application的三个典型的应用: 1.网络日志 2.聊天室 3.网页计数器(二)网站日志用application.log("")
2009-08-17 17:04:00 1508
原创 动态网页和动态HTML的区别
(一)什么是动态网页如果浏览器在不同时刻或不同条件下访问WEB服务器上的某个页面,浏览器所获得的页面内容可以发生变化,那么这个页面就称之为动态网页。如:能够查询出一些实事信息,(某日某次列车车票剩余情况。)而浏览器的对静态网页和动态网页的 处理时一样的,都是从服务器中得到网页的字符流来显示的。只不过动态网页的内容是由程序产生的。(二)动态HTML页面只是根据脚本显示的具有视觉上的动态感而已,而动
2009-08-05 21:01:00 1279 1
转载 简洁、明晰!数据库设计三大范式应用实例剖析(感觉文章写的很好,收录到自己的博客里)
第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。关键引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(upd
2009-08-05 20:21:00 273
原创 逻辑数据库的设计标准
一般来说,商业数据库逻辑设计会满足以下规范化的3级标准。1.第一范式:每一数据项都是基本的数据项2.第二范式:在第一范式基础上,关系中的所有属性依赖整个候选键3.第三范式:在第二范式的基础上,非属性之间必须无关且必须依赖于键规范化的优点是明显的可以避免了大量的数据冗余,节省了空间,保证数据的一致性。
2009-08-05 19:49:00 480
原创 触发器学习(二)
学习触发器的几个知识点1.触发器是一种Transact_SQL 命令集,他作为一个对象存储在数据库中 作用:维护行级数据完整性,而不是返回结果。触发器可以一连串的修改数据库相关表中的数据。2.INSERTED和DELETED表 每个触发器都有两个特殊的表:INSERTED和DELETED表,这两个表式逻辑表,由系统创建和维护,存在内存中,而不是存在数据库中的 因此,
2009-08-05 16:23:00 376
转载 CAST 和 CONVERT的区别
CAST 和 CONVERT将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。语法使用 CAST:CAST ( expression AS data_type ) 使用 CONVERT:CONVERT (data_type[(length)], expression [, style])参数expression是任何有
2009-08-05 09:18:00 591
转载 今天遇见了SET NOCOUNT ON语句
T-SQL 中 SET NOCOUNT ON 的含义2006-12-27 11:25每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,这是些什么信息?在我们调用的时候这些信息有用吗?是否可以关闭呢? 答案是这些信息在我们的客户端的应用程序中是没有用的,这些信息是存储过程中的每个语句的DONE_IN_PROC 信息。 我们可以
2009-08-05 09:03:00 394
转载 Struts与Java-Web应用简介
Struts与Java-Web应用简介2007年04月12日 星期四 15:31引言程序员有两个通病:要么成天张口便是一堆似懂非懂高深玄乎的专用名词;亦或就是只顾埋头于漫无边际的代码中,这为程序员的两大忌。故我将陆续写一些类似本文既不追捧时髦名词也不局限代码的基础性文章。1.Struts 介绍Jakarta-Struts是Apache软件组织提供的一项开放源代码项目。它
2009-08-04 15:05:00 487
原创 队列的实例
package test;/* * 队列 * */class Queue{ private int maxSize; private int[] array; private int front; private int rear;//队尾 private int nElems;//队头 public Queue(int max) { maxSize=max; array=new int[m
2009-08-03 16:32:00 350
原创 几种排序算法的比较
(一) 一般情况下几乎不太使用冒泡排序算法。他过于简单了。然而当数据量比较小时它会有些应用价值。(二)选择排序虽然把交换次数降到最低,但比较的次数任然很大,当数据量小时,并且交换数据比比较数据更耗时时,可以 应用此算法(三)在大多数情况下,假设当数据量比较小或基本有序时,插入排序算法是三种简单算法中最好的选择,对于更大的数据量的排序来说,快速排序通常是最快的算法。但所有的排序除了初
2009-08-03 16:07:00 456
原创 插入排序
package test;/* * 插入排序 * * 依次把标记插入到左边的有序的序列中。标记依次向后移动,直到最后。 * */class SArray { private int[] array; private int nElems; public SArray(int size) { array=new int[size]; nElems=0; } p
2009-08-03 16:05:00 286
原创 冒泡排序
package test;/* 冒泡排序算法运算起来非常慢,但在概念上他是排序算法中最简单的。*/class BArray{ private int[] array; private int nElems; public BArray(int size) { array=new int[size]; nElems=0; } public void ins
2009-08-03 15:48:00 229
原创 选择排序
package test;/* * 选择排序 * 就是把所有的元素扫描一遍,从中挑出最小的一个与最左边的元素交换。这时最左边的元素已经有序了 , * 下次就要把从无序的元素挑出最小的一个与无序的最左边的元素交换。直到循环完毕 * */class SArray { private int[] array; private int nElems; public SArray(int siz
2009-08-03 15:48:00 238
原创 二分查找
/* * 二分查找,适用于有序数组。数组有N个元素,则需要的比较次数为:logN,以2为底*/package test;class Array{ private int[] array; private int nElems; public Array(int size) { array=new int[size]; nElems=0; } public voi
2009-08-03 10:56:00 312
转载 触发器的学习
触发器的作用触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 触发器可以查询其他表,而且可以
2009-08-02 17:34:00 323
转载 事务的浅见
事务的作用是(1):事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。(2):事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是
2009-08-02 17:20:00 336
原创 存储过程的运用
SQL SERVER 联机丛书中的定义: 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 也可以创建在 Microsoft SQL Server 启动时自动运行的存储过程。 /*此种是共用的,需要4个参数*//*首先判断此存储
2009-08-01 22:14:00 327
原创 索引的见解
一本字典的最后会有几十页的索引,那里面保存了一些字典里面常用的词。是查找起来非常方便。而数据库的索引和字典里面的索引是一样的。与书中的索引一样,数据库中的索引使您可以快速找到表或索引视图中的特定信息。索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。通过创建设计良好的索引以支持查询,可以显著提高数据库查询和应用程序的性能。索引可以减少为返回查询结果集而必须读取的数据
2009-08-01 15:27:00 362
转载 视图理解
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同
2009-08-01 14:53:00 392
原创 连接,CASE的使用
表basecode表personIntidStrnameInteducationidIntnationid1张三Null102李四5113王五714
2009-08-01 11:05:00 489
原创 数据库的分页处理
GODECLARE @PAGE INT/*页所含的记录条数*/DECLARE @CURRENT INT/*当前页码*/DECLARE @SQL NVARCHAR(1000)/*sql语句变量*/SET @PAGE=4/*变量赋值*/SET @CURRENT=3/*要把整型变量变成字符型的用CAST*/SET @SQL=NSELECT TOP + CAST(@PAGE AS NVARCHAR
2009-08-01 09:54:00 247
原创 SQL:查询学习
if db_id(Nstudent) is not nulldrop DATABASE student;GOCREATE DATABASE studentON ( NAME=t, FILENAME=F:/sqlserver2005.ISO/MicrosoftSQLServer2005简体中文开发版/cs_sql_2005_dev_all_dvd/SQL Server x86
2009-07-31 20:56:00 269
翻译 数据结构总结(摘抄)(二)
(三)专用数据结构专用数据结构有栈,队,和优先级队列。这些结构不是为了用户可访问的数据库而建立的,通常用他们在程序中辅助实现一些算法。如图,带权图栈,队,和优先级队列是抽象数据类型(ADT),它们又由一些更加基础的结构如数组、链表或堆(如在优先级队列中)组成。这些ADT只提供给用户简单的借口,一般仅允许插入和访问或者删除一个数据项。这些数据项是: 对于栈:最后被插入的数据项 对
2009-07-31 15:48:00 610
翻译 数据结构总结(摘抄)(一)
(一)分类数据结构分为5种。1. 通用数据结构:数组,链表,树,哈希表2. 专用数据结构:栈,队列,优先级队列3. 排序:插入排序,希尔排序,快速排序,归并排序,堆排序4. 图:邻接矩阵,邻接表5. 外部存储:顺序存储,索引文件,B-树,哈希方法(二)通用数据结构若想存储真实世界中的类似人事记录,存货目录,合同表或销售业绩等数据,则只需一般用途的数据结构。
2009-07-31 15:35:00 529
原创 用代码创建数据库
/* 创建数据库,首先检查要创建的数据库的名字是否已经存在*/if db_id(Ntest1) is not null/*N的作用是用unicode编码,一个字符占两个字节*/drop database test1;goCREATE DATABASE test1on( name=t, filename=F:/sqlserver2005.ISO/MicrosoftSQLSer
2009-07-29 22:40:00 1065
原创 有向图的拓扑排序
package 图;/*图有两个数组来存储这种关系,一是存储顶点的。一个是存储顶点的关系的。 有向图的优先级排序。实例:课程的优先关系。 有两个步骤: 1.找到一个没有后继结点 2.从图中删除这个节点,在列表的前面插入顶点的标记 重复操作1,2直到所有的元素被删除。 */class TVertex{ public char label; public boolean wasVisited
2009-07-28 15:49:00 2126
原创 最小生成树
package 图;/* 最小生成树是用最少的边吧把所有的节点连接起来。 于是和图的深度优先搜素差不多。 */class Stack{ private int[] array; private int maxSize; private int top; public Stack(int size) { maxSize=size; array=new int[maxSize]; top=-1
2009-07-28 15:48:00 348
原创 图的广度优先搜素
package 图;/*图的广度优先搜索,运用队列,有三个规则1.访问下一个未来访问的邻接点(如果存在),这个顶点必须是当前顶点的邻节点,标记他(用wasVisited标记),并且放入队列中2.如果因为已经没有未访问顶点而不能执行1,则从队列头取一个顶点(如果存在),并使其成为当前顶点3.如果因为队列为空而不能执行规则2,则搜索结束 */ class Queue{ private fina
2009-07-28 11:01:00 497
原创 图的深度遍历
package 图;//无向图示例class StackX{ private int[] array; private int maxSize; private int top; public StackX(int size) { maxSize=size; array=new int[maxSize]; top=-1; } public void p
2009-07-28 09:30:00 387
原创 堆的操作
package 堆;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/*堆是一种完全二叉树,不是java或C++中的语言中的“堆”(程序员用new能得到计算机内存中的可用部分), 若数组中节点的索引为x,则 1.他的父节点的下标为(x-1)/2 2.他的左子节
2009-07-27 09:32:00 409
原创 label标签中for的作用
<br /><html><br /><head><br /><title>error message</title><br /></head><br /><body><br /><form><br /><fieldset><br /><legend>error message</legend><br /><label for="firstName">First Name:</label><br /><input type="text" name="firstname" id="firstName"><br
2009-07-26 14:40:00 450
原创 邮箱验证
New Document function checkemail(){var temp = document.getElementById("mail");//对电子邮件的验证var myreg = /^([a-zA-Z0-9]+[_|/_|/.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|/_|/.]?)*[a-zA-Z0-9]+/.[a-zA
2009-07-26 10:05:00 314
原创 快速排序
package 高级排序;class TheArray1{ private int[] array; private int nElems; public TheArray1(int maxSize) { array=new int[maxSize]; nElems=0; } public void insert(int a) { array[nElems]=a;
2009-07-21 21:35:00 254
原创 总结JSP与servlet之间的传值(转载)
JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP。通过对象 request和 session (不考虑 application)完成传值。一、JSP -> servletJSP页面有3种方法向 servlet传值: form表单、URL 、其他 JSP page -->......... session.setAttrib
2009-06-10 10:22:00 364
原创 java连接MySQL数据库
java连接MySQL数据库参考代码: import java.sql.*; public class TestMysqlConnection { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forNa
2009-06-10 10:21:00 278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人