- 浏览: 13530 次
- 性别:
- 来自: 武汉
文章列表
听起来陌生的词语,其实不算陌生。
用一个例子就可以稍稍了解了。
public class Demo {
public static void main(String[] args) {
A a = new B();
C c = a.display() ;
c.display() ;
}
}
class A {
public C display() {
System.out.println("this is from A!");
return new C();
}
}
class B extend ...
Java API全集
J2SE DK & API下载
-------------------------
http://java.sun.com/j2se/1.3/download.html
http://java.sun.com/j2se/1.4.2/download.html
http://java.sun.com/javase/downloads/index_jdk5.jsp
http://java.sun.com/javase/downloads/index.jsp
J2EE DK & API下载
-------------------------
http://jav ...
关于接口回调
接口回调实多态的另一种体现。接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,称为接口回调。不同的类在使用同一接口时,可能具有不同的功能体现,即接口的方法体不必相同,因此接口回调可能产生不同的行为。
下面是简单的接口回调:
package com.demo;
public class Demo1 {
public static float getSquare(Square s) {
return s.getSqu ...
测试程序,引用
public class Demo {
public static void main(String[] args) {
DemoPro pro = new DemoPro(20, "lishan");
System.out.println("Before change, pro = " + pro.getAge());
changeData(pro);
System.out.println("After changeData(n), pro = " + pro.getAge());
}
...
copy了个程序,这个算法用了递归。
package com.test.convert;
public class QuickSort {
public static void sort(Comparable[] data) {
sort(data, 0, data.length - 1);
}
public static void sort(Comparable[] data, int low, int high) {
Comparable pivot = data[low];
int i = low;
int j = high;
i ...
一直以来都有好多的语句在用,但是有时候又会突然忘记,在这里做个小结:
1、显示MySQL的建表语句
show create table tablename;
2、获取表的字段信息
show columns from tablename;//desc tablename;
3、查询数据库当前编码
show variables like "character_set%";
4、导入.sql文件命令(例如 d:\mysql.sql)
use database;
source d:/mysql.sql;
5、将查询结果保存到文件
select title from boo ...
1、今天在校园里走着,突然迎面过来一女生问我:愿意做我男朋友吗?我愣了,没见过此女啊,而且我自认还没帅到让人这么直接的份上。这时女孩不耐烦的问道:到底愿不愿意?我考虑到女孩的自尊心就郑重的回答说:我愿意。这是女孩拿起电话吼到:听见了吗?老娘不是没人要!!轻轻的她走了,正如她轻轻的来,只剩下我在那傻眼。
2、晚上,我和女儿在客厅看电视,老公在书房上网,我有点渴了,却不想动,就说:老公,拿瓶可乐给我。老公从书房出来给我拿了一瓶,又跑回书房。这时,五岁的女儿也喊到:爸爸,我也要喝。老公不耐烦的说:自己拿!女儿愣了一下,又喊到:老公,我也要喝。
3、给单位一位女 ...
谈到这里,差不多的都完了。
多对多来讲,首先是单向:
数据库中的情况是会生成一张中建表,其中会有两个Id,假设是studentId,teacherId。当然前提是所建的两个hibernate实体也是student和teacher。而最后的结果是studentId参照student对象,teacherId参照teacher对象。
在描写对象的时候,将student作为teacher的一个属性,(反过来也行)然后在配置文件中声明
teacher.hbm.xml文件如下:<?xml version="1.0"?>
<!DOCTYPE hibernate-map ...
hibernate一对多双向和多对一双向是一样的。
这个在代码中的表现有点意思,在多的一方设置多方的属性,在一的那方设置多的属性,也就是在user中设置group属性,在group中设置user的集合。
最后在配置文件中需要注意点的就是:
user.hbm.xml:
<class name="User" table="_user">
<id name="id">
<generator class="native"/>
</id>
...
相对于一对多来说,这个在代码上没有多大的变化。首先是在多的这方加上一方的引用,具体点就是在user中添加group属性。
在xml文档中的配置如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
...
第一个需要认识的xml文档
hibernate.cfg.xml文档
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate- ...
一对多的单向练习
group方做为一的一方
user方作为多的一方
Group的类描述:
package com.anryn;
import java.util.HashSet;
import java.util.Set;
public class Group {
private int id ;
private String address ;
private Set<User> users = new HashSet<User>() ;
public Group() {
}
public Set<User> ...
组件映射:Group类的描写
User类是一个组件
package com.anryn;
public class Group {
private int id ;
private String address ;
private User user ;
public Group() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress() {
ret ...
生成一张表
User类
package com.anryn;
public class User {
private int id ;
private String useName ;
private Date date ;
public User() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUseName() {
return useName;
} ...