`
文章列表
1         1     1            
        1     以上代码,在tx.commit执行后,会清空缓存,这样就成了游离对象了。  
看完多对一,再来看看一对一的情况: 学生和证件是一对一的关系,并且学生ID和证件的ID是相同的。   建表脚本:   create table certificate( id varchar(100) not null default '', `describe` varchar(100) default '', primary key (id) ) create table student( id varchar(100) not null default'', name varchar(20) default'', ...
    例:建表脚本 create table customers( id bigint not null, name varchar(15), primary key (id) ) create table orders( id bigint not null, order_number varchar(15), customer_id bigint not null, primary key(id) ) alter table orders add index idx_customer_i ...
本例将使用struts2和hiberante开发,首选将struts2相关的jar包复制到web 工程的WebRoot\WEB-INF\lib目录下。 所需的JAR包如下图, 然后将连接mysql数据库所需的驱动JAR包也同样复制到lib目录中 右击工程名 MyEclipse->Add Hibernate Capablities 弹出如下窗口,按如下勾选配置好,点击下一步   接下去的两步可以不配置,去年勾选,即不配置数据库连接与创建session工厂。 点击完成后,会在lib包上出现很多hibernate相关的JAR包       ...
         

UML1:OOAD详解

    博客分类:
  • UML
  不要一开始就陷入到细节的泥潭当中。  
     
查看 HashSet的源码会发现,HashSet是由HashMap生成。 public HashSet() { map = new HashMap<E,Object>(); }  当使用HashSet的add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上)。如下为源码。 private static final Object PRESENT = new Object(); public boolean add(E o) { return map.put(o, PRE ...
策略模式在集合类的Comparator中大量应用 策略模式也强调了一个设计原则:多使用组合,少用继承。 策略模式就是使用变量来强调“多使用组合” 下面定义一个使用策略模式来实现加减乘除   package com.test.strategy; /** * 抽象策略角色 * */ public interface Strategy { public int calculate(int a,int b); } 上面定义了一个抽象策略角色,其中定义了一个caculate方法 。   package com.test.strategy; ...
Map(映射):Map的KeySet()方法会返回key的集合,因为Map的键不能重复,因此keySet()方法的返回类型是Set;而Map的值是可以重复的,因此values()方法的返回类型Collection,可以容纳重复的元素。   package com.test.array; import java.util.HashMap; public class HashMapTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a&qu ...
  Eclipse提供了快捷重写equals与hashCode的方法:在Source工具栏中提供了快捷方法: package com.test.array; import java.util.HashSet; public class HashTest { public static void main(String[] args) { HashSet set = new HashSet(); set.add(new Person("lisi")); set.add(new Person("lisi" ...
  ArrayList: 注意其toArray()方法返回的是一个Object[]数组,不能强制转换成其它类型。例如: Person[] persons = (Person[])list.toArray(); 因为Person[]不继承自Object[],只继承自Object;         实现一个单向链表 package com.test.array; public class Node { Node next;//存放下一节点的引用 String data;//存放数据 public Node(String data) ...
以下各种排序都是使用数组实现的。   1,冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数 ...
数组(Array):相同类型的数据的集合就叫数组。 如何定义数组: 1,type[] 变量名 = new type[数组中元素的个数]; 2,type 变量名[] = new type[数组中元素的个数]; 3,type[] 变量名 ={变量值} 示例:  int[] a = new int[10];  int a[] = new int[10];  int[] a = [0,1,2,3,4,5]; 建议使用第1种方式定义数组,第1种方式更面向对象。 数组中元素索引是从0开始,最大索引为数组的长度-1。   Java中每个数组都有一个lenght属性,表示数组的长度,le ...
Global site tag (gtag.js) - Google Analytics