`
文章列表
数据库有很多种,例如Oracle,DB2,Sybase,MySql,SQL Server等等,他们有的提供主键生成,有的不提供,提供的方式也不一样,如果有的系统需要同时支持多种数据库,就要求主键生成更有通用性,下面就给出解决方案。 使用表存储,表有两个列,一个存放键名,一个存放键值 取值时先更新数据库键值+20;然后查询出增加后的值,例如我们更新后的值是1000,每次增加20,现在可用的key = 1000 -20 +1 = 981;这样做的好处就是缓存主键,不用增加一个就修改,查询一次数据库,我们增加20次才查询一次数据库。 public class KeyGenerator { ...
1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要 ...
ORACLE日期时间函数大全    TO_DATE格式(以时间:2007-11-02   13:45:25为例)            Year:              yy two digits 两位年                显示值:07         yyy three digits 三位年                显示值:007         yyyy four digits 四位年                显示值:2007                     Month:              mm    number     两位月      ...
单例模式确保某一个类只有一个实例,并且自行实例化向整个系统提供这个实例 饿汉式 public class EagerSingleton { private static final EagerSingleton instance = new EagerSingleton(); private EagerSingleton(){} public static EagerSingleton getInstance() { return instance; } } 懒汉式 public class LazySingleton { ...
工厂方法模式的用意是定义一个创建产品对象的工厂,将实际的创建工作推迟到子类中。 修改上节中简单工厂模式 抽象工厂 public interface FruitGardener { public Fruit factory(); } 具体工厂 public class AppleGardener implements FruitGardener { public Fruit factory() { return new Apple(); } } public class GrapeGardener implements FruitGardene ...
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式,是由一个工厂对象决定创建出哪一种产品类的实例。 本例子一共有七个类,Fruit是抽象类,Apple,Grape,Strawberry是继承了Fruit的具体类,FruitGardener是提供工厂方法(factory)的类,BadFruitException是异常类,Client是测试类。 抽象类 或者 接口 public abstract class Fruit { public abstract void plant(); //种植 public abstract v ...

Git 提交项目

    博客分类:
  • Git
与远程仓库同步,修改,载入(stage)和提交项目 下面我们做这个例子 * 修改文件 * 提交变更 请克隆这个项目: git clone git://github.com/schacon/simplegit 下载完后 进入项目目录 cd simplegit 修改README文件,修改文件很简单,但这是linux ...

Git 安装

    博客分类:
  • Git
git是一个快速,开源,分布式的版本控制系统。因此,它在(开源)和(协作编程社区)很快取代了svn。 在 Windows 上安装 在 Windows 上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以从 Google Code 的页面上下载安装文件(.exe): http://code.google.com/p/msysgit 呵呵装完之后我就忙着克隆个项目 git clone git://github.com/itstamen/rop.git 之后不知道这个项目下载到哪里了,后来才发现在C:\Users\Administrator,这是git的默认目录。你可以 ...
四、生成eclipse工程文件 我采用的开发工具是eclipse,所以用maven的eclipse参数生成eclipse工程文件。输入如下 1、 采用dos的cd命令进入study目录 2、 输入指令:mvn eclipse:eclipse 如下所示: D:/eclipse/workspace/study>mvn eclipse:eclipse 指令执行完毕后,发现多了两个文件:.classpath和.project 【生成项目】 JAVA项目 mvn archetype:create -DgroupId=net.welken -DartifactId=common web 项目 mvn ...

Maven 5分钟学会

Installation安装 Maven is a Java tool, so you must have Java installed in order to proceed. Maven是Java工具,所以你必须安装Java才能运行。 就是配置Java环境变量 去官方网站下载之:http://maven.apache.org/download.html, 我的电脑----属性----高级----环境变量,点击“系统变量”下的新建,输入:变量名 MAVEN_HOME; 变量值d:\Maven204,在系统变量列表中找到系统变量path,打开之,在变量值中追加”;%MAVEN_HOME%\ ...
基于上一篇 http://jiaozhiguang-126-com.iteye.com/blog/1668709 为了简化我们SQL输入参数的配置,我们写一个类来专门负责处理输入参数,把它们封装成一个Map类型,代码如下: package ibatis.util; import java.util.HashMap; public class ParameterMap extends HashMap<Object, Object> { public ParameterMap(Object... parameters) { for(int i=0; ...
iBatis是一款使用方便的数据访问工具,也可作为数据持久层的框架。和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比,iBatis是将SQL语句映射为Java对象。相对于全自动SQL的Hibernate,iBatis允许你对SQL有完全控制权,可以视为半自动的数据访问工具。     iBatis的最大优点是简便,轻量级,仅需iBatis的一个jar和数据库的驱动即可运行,而且使用iBatis仅需掌握SQL和XML的用法即可,而不像Hibernate那样需要配置对象间的关系。学习iBatis的过程要比Hibernate快很多,在项目中,若人员水平不大一致时,使用iBati ...
代理模式(Proxy)为另一个对象提供一个替身或占位符以控制对这个对象的访问,简而言之就是用一个对象来代表另一个对象。 public abstract class Subject { abstract public void request(); } public class RealSubject extends Subject { public void request() { System.out.println("From real subject"); } } public class ProxySubject ...
遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder) //营养素 public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; //卡路里 private final int fat; //脂肪 private final int sodium; //钠 private final int carbohydrate; //碳水化合物 ...
JDK动态代理 JDK 1.3以后,Java提供了动态代理的技术,允许开发者在运行期创建接口的代理实例。在Sun刚推出动态代理时,还很难想象它有多大的实际用途,现在我们终于发现动态代理是实现AOP的绝好底层技术。 JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态将横切逻辑和业务逻辑编织在一起。 而Proxy利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象。 ...
Global site tag (gtag.js) - Google Analytics