- 浏览: 286966 次
- 性别:
- 来自: 深圳
最新评论
-
cheetah_ysc:
不错不错,我喜欢!
Java固定时间间隔执行 -
voyage_mh:
阿选百度竟然一下可以吧你百度出来
使用DWR注解Annotation
文章列表
注意:JDK只支持接口的动态代理,不支持类的动态代理
先写一个接口,以Dog为例
package com.lbx.dao;
public interface Dog {
public void info();
public void run();
}
Dog接口的实现
package com.lbx.dao.impl;
import com.lbx.dao.Dog;
public class DogImpl implements Dog {
@Override
public void info() {
// TODO A ...
Order类
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
public class Order implements Serializable{
private int id;
private String name;
private String phone;
private Set products = new HashSet();
public int getId() {
return id;
}
public Str ...
Order类定义一个 Set products = new HashSet(); 用于建立Order和Product之间的关联(单向的)
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
public class Order implements Serializable{
private int id;
private String name;
private String phone;
private Set products = new HashSet( ...
在多方关联一方
Product(多方)(部分代码)
public class Product {
private int id;
private String name;
private Double price;
private Category category;
Category(一方什么都不关联)(部分代码)
public class Category {
private int id;
private String name;
private String description;
Product.hbm.xml文件
<?x ...
Category类(一方)
import java.util.HashSet;
import java.util.Set;
/**
* 商品分类表
* @author Administrator
*
*/
public class Category {
private int id;
private String name;
private String description;
private Set product = new HashSet();
public int getId() {
return id;
}
...
和单向的类似,只不过多加了一个关联User关联Frofile,Profile同时也关联User
User类
import java.io.Serializable;
import com.lbx.hibernate.model.Profile;
/**
* 组件双向关联
* @author Administrator
*
*/
@SuppressWarnings("serial")
public class User implements Serializable{
private int id;
private String ...
User类中有一个属性 private Profile profile;
import java.io.Serializable;
import com.lbx.hibernate.model.Profile;
/**
* 组件单向关联
* @author Administrator
*
*/
@SuppressWarnings("serial")
public class User implements Serializable{
private int id;
private String username;
priva ...
Set和Map基本和List一样
先看Set 只需要将List改为private Set emails = new HashSet(0);
然后修改User.hbm.xml文件就可以了
<set name="emails" table="emails">
<key column="userid" foreign-key="id" />
<element type="string" column="email" />
...
以User类为例:
在User类中定义一个List集合用于放email属性
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@SuppressWarnings("serial")
public class User implements Serializable{
private int id;
private String username;
private String passw ...
User类
package com.lbx.model;
import java.util.Date;
//联合主键的生成
public class User {
/*private int id;
private String name;*/
private UserPK userPK;
private Date birthday;
/*public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public St ...
1.Hibernate 的初始化.
读取Hibernate 的配置信息-〉创建Session Factory
1) 创建Configeration类的实例。
它的构造方法:将配置信息(Hibernate config.xml)读入到内存。
一个 Configuration实例代表Hibernate 所有Java类到Sql数据库映射的集合。
2)创建SessionFactory实例
把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。
SessionFactory 的实例代表一个数据库存储员源,创建后不再与Conf ...
SessionFactory是一个重量级的类,不可以多new,最好是使用单例模式和static来定义
一个简单的HibUtil(static)
一个简单的User类
相应的xml文件User.hbm.xml文件
Hibernate核心配置hibernate.cfg.xml里面配了与数据库连接以及各种Mapping(映射)
测试类
JSP请求(login.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/ ...
客户端jsp请求Action代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+req ...