- 浏览: 124605 次
- 性别:
- 来自: 深圳
最新评论
文章列表
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包
...
查看 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;
...
JAVA集合类(4):Map
- 博客分类:
- JAVA基础
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 ...
JAVA集合类(3):Set集合
- 博客分类:
- JAVA基础
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) ...
JAVA集合类(2):冒泡排序、二分查找
- 博客分类:
- JAVA基础
以下各种排序都是使用数组实现的。
1,冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数 ...
JAVA集合类(1):数组介绍及常用 API
- 博客分类:
- JAVA基础
数组(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 ...