`
awfrun
  • 浏览: 82033 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
主要组成部分:抽象原型和具体原型类.   说明: 在Java中如果通过赋值语句来创建一个对象,则新对象和原来的对象同是一个引用用;Java已经帮我们提供了一种解决方法可以方使的克隆 类,这就是原型模式.   UML原理:               例子:   package com.prototype; /** * * @Title: KeyPrototype.java * @Description: 钥匙原型 * @author awfhome@163.com * @date 2010-6-3 * @version V1.0 ...
创建者模式主要由5部分组成:抽象产品类、实现抽象产品类的具体类、抽象创建者类、实现抽象创建者类的具体类、组装类   说明:比工厂抽象工厂增加一个用来组装产品的类,客户端就不用知道对象的构建细节.   UML原理图:       例子:   package com.buider; public class Client { public static void main(String[] args){ Director diretor = new Director(new MotorcycleFactory()); Motorcycle m = dir ...
一直都是手写sql语句的,总结以前写的,做成一个模板这样的速度也不会慢到哪里,不过最近在看别人的数据库时没有什么注释还真辛苦,powerdesigner有一项数据库转成图表功能,今天装了可以试了很久都没连上mysql.到google找了很久也没解决,最后才知道问题所在,原是是没有配JAVA_HOME 有两种配置方法我只用了jdbc,还有另处一种没试过odbc,驱动在附件里,这种可能比较容易     设置环境变量:     CLASSPATH=mysql驱动包   JAVA_HOME=         
介绍:抽象工厂模式是针对多个产品结构,它主要用于帮助用户一次创建多个不同的对象.   主要组成部分:抽象工厂类、实现抽象工厂类的具体类、抽象类和实现抽象类的具体类.   原理:UML示例---->           例子:     package com.abstractfactory; public class AfricaBird extends Bird { @Override public void eat() { System.out.println("非洲小鸟会飞."); } @Overrid ...
介绍:工厂方法模式主要组成部分:抽象工厂类,实现抽象工厂类的具体工厂类、抽象类和实现抽象类的具体类.   说明:每一个产品都有要由一个具体的工厂来创建,把简单工厂拆分成一个个小工厂,每个小工厂只负责单独对象的创建,职责变小了,这样第个具体工厂就可以很好的控制各个对象的初始化了.   例:   package com.factorymethod; public interface Animal { public void eat(); } package com.factorymethod; public class Bird implements An ...
介绍:简单工厂模式主要由3部分组成:工厂类、抽象类和实现抽象类的具体类   优点:客户端不再负责对象的创建,把这个责任丢给了具体的工厂类,客户端只负责对对象的调用,从而明确了各个类的职责.   缺点:使用了静态方法来创建对象,导致静态方法无法被继承.   例子:     package com.samplefactory; public interface Animal { /**动物都会吃的*/ public void eat(); }     package com.samplefactory; public class Tiger impl ...
设计模式可以分成三大类(23种): 1.创建型模式   (简单工厂模式)、工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式     2.结构型模式   外观模式、适配器模式、代理模式、装饰模式、桥模式、组合模式、享元模式、   3.行为型模式   模板方法模式、观察者模式、状态模式、策略模式、职责链模式、命令模式、访问者模式、调停模式、备忘录模式、迭代模式、解释器模式
1. 获取session,SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory(); A.Session session = sf.openSession(); B.Session session = sf.getCurrentSession();   说明:第一种每次都打开一个新连接,要显示关闭.          第二种,先从上下文查看有没有session,有就用它没有创建一个新的,一旦commit().就会自动关闭连接,在配置文件中hibernate.cfg.xml 要加 ...
1.每一个持久化POJO类都是一个实体bean,这可以通过在类的定义中使用@Entity注解来进行声明.   2.@Table是类一级的注解, 通过@Table注解可以为实体bean映射指定表(table),目录(catalog)和schema的名字. 如果没有定义@Table,那么系统自动使用默认值:实体的短类名(不附带包名). @Entity@Table(name="tbl_sky") 3.声明基本的属性映射,@Basic默认   @Temporal(TemporalType.TIME) 时间,默认是日期加时间 4.枚举用xml很麻烦,用注解十分简单,@En ...
1.hibernate3.3.2日志配置,默认采用slf处理日志,slf只是接口,在slf发行包里有对其它日志框架的支持(适配器),加入包slf4j-log4j12-1.5.8然后再加入对应的log4j包,最后在项目中加入log4j.properties就可以用log4j了.   2.启动log4j.properties中的log4j.logger.org.hibernate.tool.hbm2ddl=debug就可以在运行时看到建表语句.   3.hibernate.cfg.xml中的,    <property name="show_sql">tru ...
1.在hibernate3.3.2的hibernate-annotations的兼容版本是3.4.0,可以到http://sourceforge.net下载   2.加入所需的包hibernate-annotations.jar,ejb3-persistence.jar,hibernate-commons-annotations.jar   3. 使用方法和ejb3.0一样.附件的官方帮助文档说得很明白   4.在hibernate.cfg.xml 加入被注解的实体类     <mapping resource="com/awf/hibernate/Student ...
1.加入所需要的包  下载hibernate3.3.2的发行包,加入hibernate3.jar 和hibernate-distribution-3.3.2.GA\lib\required下的6个jar.  http://www.slf4j.org 网站上下载slf4j-1.5.8 加入slf4j-nop-1.5.8.jar   说明:在hibernate-distribution-3.3.2.GA\lib\required下的slfrj是接口,slf4j-nop-1.5.8.jar才是实现.   2.创建hibernate.cfg.xml文件,还有实体类的映射文件,这些在官方文档有 ...
1.创建UML 模型文件  File > New > UML Model Repository UMR 文件的后缀是" .umr",其实它的真实存储格式是zip.       2.保存文件,在UML Model Repository(UML 模型仓库)一栏中,输入文件名,在UMLRoot Model Name(UML 根模型名称)一栏中,输入想要的名字。单个 UML 模型文件可以包含任意数目的和任何类型的UML 图形。向文件中添加图形,需要在编辑器中打开UML 文件,然后从编辑器工具栏上左数第一个按钮,从下拉列表中选择要建的图的类型即.       ...
UML:统一建模语言(Unified Modeling Language,UML),是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言。它不是一门编程语言,只用来描述系统,不能用来开发和实现系统功能。   常见的 UML 建模工具比较多。用的最多的当属Rational Rose(现在被IBM 收购),是商业的收费软件. Sybase 出品的Power Designer,它的主要特色就是数据库建模和UML 建模合二为一,可以从数据库生成模型,也可以从模型生成数据库代码,是公司数据库管理员必备软件,可惜也是商业收费的. 微软Office 的Visio.   开源的UML ...

冒泡排序

原理:每次比较相邻两数,小的交换到前面,每轮结束后最大的数交换到最后   冒泡排序速记口诀(升序): N 个数字来排队 两两相比小靠前 外层循环 N-1 内层循环 N-1-i     public class MaoPaoShiXian { public static void main(String[] args) { int a[] = { 8, 3, 120, 86, 34 }; // 循环输出数据 System.out.println("排序前数组中的数据为:"); for (int i = 0; i < a.length; i+ ...
Global site tag (gtag.js) - Google Analytics