- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 主表,从表,关联表,父表,子表
一、前言 在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用是非常有必要的。 二、概述 下面从数据库设计角度,ORM框架使用(以Hibernate为例),PowerDesigner软件以及实际业务角度进行一下介绍...
2014-11-25 22:53:23 633
原创 主表和从表
主从表是一种数据关系模型,主表约束从表。以学员信息表stuInfo和考试成绩表stuMarks为例, 我们知道它们是一对多的关系,当然一是主,多是从。(譬如我们的班主任是主,我们大家都要听班主任的话!)所以stuInfo就是主表,stuMarks就是从表。那么,一般我们会在从表中做一个外键字段,引用主表中的主键。(为什么呢?大家想想是13亿人民记住班主任的名字容易还是班主任记住13亿人民名字呢?...
2014-11-25 22:44:21 452
原创 数据库设计三大范式
数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可...
2014-11-25 22:13:07 134
原创 数据库设计中的四个范式
在创建一个数据库的过程中,必须依照一定的准则,这些准则被称为范式,从第一到第六共六个范式,一般数据库设计只要遵循第一范式,第二范式,和第三范式就足够了。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。I、关系...
2014-11-25 22:12:09 294
转载 java对redis的基本操作
一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 1)解
2014-11-17 16:55:50 290
原创 java对redis的基本操作
一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 1)解压后将里面所有文件拷贝至redis安装目录...
2014-11-17 16:11:47 89
原创 每天一个linux命令(10):cat 命令
cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 1.命令格式:cat [选项] [文件]...2.命令功能:cat主要有三大功能:1.一次显示整个文件:cat filename2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有...
2014-11-03 15:41:12 92
原创 每天一个linux命令(9):touch 命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。1.命令格式:touch [选项]... 文件...2.命令参数:-a 或--time=atime或--time=access或--time=use 只更改存取时间。-c 或--no-create 不建立任何文档。-d 使用指定的日期时间,而非...
2014-11-03 15:37:10 95
原创 每天一个linux命令(8):cp 命令
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 1.命令格式:用法: cp [选项]... [-T] 源 目的 ...
2014-11-03 15:36:04 83
原创 每天一个linux命令(7):mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。1.命令格式: mv [选项] 源文件或目录 目标文件或目录2.命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文...
2014-11-03 14:42:01 102
原创 每天一个linux命令(6):rmdir 命令
今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。1.命令格式:rmdir [选项]... 目录...2.命令功能:该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权...
2014-11-03 14:40:45 92
原创 每天一个linux命令(5):rm 命令
昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * ...
2014-11-02 23:40:16 79
原创 每天一个linux命令(4):mkdir命令
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir [选项] 目录...2.命令功能:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件...
2014-11-02 00:53:59 108
原创 每天一个linux命令(3):pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式:pwd [选项]2.命令功能:查看”当前工作目录“的完整路径3.常用参数:一般情况下不带任何参数如果目录是链接时:格式:pwd -P 显示出实际路...
2014-11-02 00:52:51 76
原创 每天一个linux命令(2):cd命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧。 1. 命令格式:cd [目录名] 2. 命令功能:切换当前目录至dirName 3. 常用范例3.1 例一:进入系统根目录命令:cd / 输出:...
2014-11-02 00:24:24 85
原创 每天一个linux命令(1):ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls 命令在日常的linux操作中用的很多!1. 命令格式:ls [选项]...
2014-11-02 00:09:02 87
原创 Linux/Unix环境下的make命令详解
无论是在linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要...
2014-10-20 23:54:52 100
原创 openfire+spark+smack实现即时通讯
最近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现。在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚。于是决定自己研究,耗时一周的时间实现了文字通讯和文件传输的功能。现发帖分享给有需要的朋友,也希望大家能够把自己的资料都分享出来,不要敝扫自珍。废话说够了,现在开始上干货:1.openfire是什么?openfire是一个即时通讯服务器,也...
2014-09-26 09:07:49 124
原创 restful api的spring实现
RESTful web服务最近有多流行已经无需我多评价。是的,你的确需要它,但如何选择呢?我尝试了不同的Java REST框架,基本上都是Jersey和Spring MVC。我认为大多数情况下Spring是构建RESTful应用程序的首选。如果你已经有了一个Spring app,接下来不需要做任何复杂的配置就可以用Spring开始实现RESTful API了。只要使用标准的注解配置向下...
2014-09-19 15:35:01 278
原创 Oracle导入导出
1.导出平台数据库一:cmd命令方式:(可以导出表、视图、存储过程) 将数据库中某用户的表,视图导出,命令如下 exp 数据库用户名/数据库密码@数据库本地的服务名 file=E:/导出数据文件名.dmp owner=(导出数据库的那些用户)例如:exp tplatform/tplatform@platform file=E:/1111platform.dmp owner=(tp...
2014-09-18 15:26:04 102
原创 ActiveMQ开源JMS消息总线
开源的JMS Provider大部分都已经停止发展了,剩下的几个都是找到了东家,和某种J2EE 服务器挂钩,比如jboss mq 与jboss,joram与jonas(objectweb组织),ActiveMQ 与Geronimo(ASF APACHE基金组织),而在这3个之间,从网络底层来看,只有ActiveMQ使用了NIO,单从这个角度来看ActiveMQ在性能上会有一定的优势。...
2014-09-17 22:57:07 174
原创 数据库Sharding的基本思想和切分策略
本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据...
2014-09-17 00:24:46 71
原创 java NIO框架:mina
Java NIO框架MINA用netty性能和链接数、并发等压力测试参数好于mina1。NIO弥补了原来的I/O的不足,它再标准java代码中提供了高速和面向块的I/O原来的I/O库与NIO最重要的区别是数据打包和传输方式的不同,原来的I/O以流的方式处理数据,而NIO以块的方式处理数据2.NIO以通道channel和缓冲区Buffer为基础来实现面向块的IO数据处理MI...
2014-09-14 23:41:46 99
原创 java NIO框架:mina、netty、Grizzly比较
Mina:Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序,Mina 所支持的功能也在进一步的扩展中。目前,正在使用 M...
2014-09-14 23:35:38 188
MongoDB安装win7 64bit
第一步:下载:MongoDB下载地址:http://www.mongodb.org/downloadswin7选择64bit,win2003,win2008,vista选择64bit legacy第二步:解压缩下载后的文件,把解压缩后的文件里面的 放到D:\Program Files\MongoDB文件加下第三步:建立真正存放数据库文件的目录D:\MongoData...
2014-09-14 23:07:06 92
转载 JIT编译器
在Java编程语言和环境中,即时编译器(JITcompiler,just-in-time compiler)是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。当你写好一个Java程序后,源语言的语句将由Java编译器编译成字节码,而不是编译成与某个特定的处理器硬件平台对应的指令代码(比如,Intel的Pentium微处理器或IBM的System/
2014-03-07 18:51:49 678
原创 如何把java.util.date的日期格式变为yyyy-MM-dd格式
Date date = new Date(); Format formatter = new SimpleDateFormat("yyyy-MM-dd"); String s = formatter.format(date);//2014-09-03
2014-01-17 15:55:15 1522
原创 Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安装方式,由于配置问题未能正确安装,现研究了下U盘安装,根据互联网上的一些资料及自己的总结,在Windows7 系统下采用U盘安装安装Ubuntu 12.04,并引导成为Windows7 和Ubuntu 12.04 双系统。Ubuntu 12.04在线体验:http://www.ubuntu.com/tour/zh-C
2014-01-16 20:51:42 531
转载 ubuntu安装
作为ubuntu的爱好者,第一次制作ubuntu安装教程,多有不足,还望包涵,呵呵~11.04因为还在测试阶段,我就不折腾了,就做个10.04的用U盘安装的教程吧。说到ubuntu,有接触linux的童鞋都应该听过,用wubi安装只是像在电脑上安装一个软件,可以轻松体验ubuntu,不过毕竟性能会打折扣,所以本人是比较喜欢直接安装在硬盘上的。这种方法只适合用desktop下进行安装,不能在
2014-01-16 20:47:28 366
转载 制作utuntu启动盘U盘
优盘的容量越做越大,现在市面上比较多见的是8G-32G的容量,优盘除了可以做为存储外,现在的容量也完全有可能安装操作系统,如果随身携带一个优盘,将系统和常用软件放入其中,万一需要紧急使用别人的电脑,都可以按照自己的习惯使用电脑,不会因为使用别人电脑不习惯,而且也不需要遗留个人信息在别人的电脑里,感觉很棒。 今天介绍一款可以将操作系统放入优盘,将优盘制作成启动盘的小软件。Universal
2014-01-16 20:45:18 716
转载 产品经理和项目经理的区别
产品经理——靠想。产品经理是做正确的事,其所领导的产品是否符合市场的需求,是否能给公司带来利润的。项目经理——靠做。项目经理是把事情做正确,把事情作得完美,在时间,成本和资源约束的条件下完成目标。从管理的角度讲,项目经理是纵向的,而产品经理是横向的。例如我们姑且理解项目经理是一个开发部门的项目经理,那么他一定是对某个产品进行开发的管理,负责开发的进度,开发过程中的协调,供应链等
2014-01-11 18:21:39 521
转载 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性
内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html关键字:内省、JavaBean、PropertyDescriptor类、In
2014-01-06 14:35:53 437
转载 getClass(),class属性和getName()解析(整理)
getClass(),class属性和getName()解析(整理)一、getClass方法:类型:public final Class getClass()功能:返回该对象的运行时类的java.lang.Class对象(API上的解释)有方法类型可以知道,该方法只能由类的实例变量调用例子:[java] view plai
2014-01-06 13:45:29 345
转载 类装载器的功能及分类
类装载器的功能及分类 顾名思义,类装载器是用来把类(class)装载进JVM的。JVM规范定义了两种类型的类装载器:启动类装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 bootstrap是JVM自带的类装载器,用来装载核心类库,如java.lang.*等。如java.lang.Object是由bootstrap装载的。
2014-01-06 13:33:08 438
转载 jquery插件为什么要这么写(function($){})(jQuery)
1 首先(function(){})()这种写法 是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$ jQuery 等jquery内部定义的变量。2 (function($){})(jQuery) 这个写法主要的作用还是保证jquery不与其他类库或变量有冲突 首先是
2013-12-24 15:21:25 482
转载 c++的精髓--虚函数
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public:virtual void Eat(){……};void Move();pri
2013-12-21 20:51:43 587
转载 Eclipse和MinGW开发C/C++
Eclipse主要作为IDE集成开发环境,而MinGW主要提供Windows版本的gcc编译器。Eclipse 为开放源码程序,其IDE功能强大,而且可以跨平台运行,并且比较明显的优点是整个软件体积小,而且可以通过JDT方便地扩展插件以开发其他语言。配置windows环境下的Eclipse和MinGW需要如下步骤:第一步,安装JDK或JRE。Eclipse是用Java开发的,因而运行需
2013-12-18 19:51:22 603
原创 java ResultSet使用
1.查询结果一行一列String sKey = null;ResultSet rs = stmt .executeQuery("select keyvalue from keytable where keyname='" + key + "'"); if (rs
2013-12-18 13:24:24 566
转载 迭代器模式(Iterator pattern)
迭代器模式(Iterator pattern)一、 引言迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历:Iterator it = list.iterator();while(it.hasNext()){//using “it.next();”do some businesss logic}而这就是关于迭代器模
2013-12-18 11:41:17 395
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人