- 浏览: 616719 次
- 性别:
- 来自: 杭州
最新评论
-
xianzi_2008:
xianzi_2008 写道楼主请教下,我缓存了一个List& ...
Ehcache -
xianzi_2008:
楼主请教下,我缓存了一个List<Bean>对象, ...
Ehcache -
jsdsh:
收藏好.五个字
hibernate之one-to-many详细 -
Tlife:
好!!!!
hibernate------HQL总结 -
yanqingluo:
例子很恰当。
观察者模式
文章列表
tbl_user 是一张表。User是它一个po,NormalUser也是它的一个po,NormalUser继承于User,那么将User和NormalUser持久到数据库的tbl_user中,tbl_user是怎么区分的呢?tbl_user中有一个字段type,它是来区分的。
来看他们的映射文件:
<class name="com.apidoc.app.user.model.User"
table="tbl_user"
discriminator-value="2">
...
- 2008-02-17 12:41
- 浏览 5941
- 评论(3)
首先需要建立一个mysql用户,和一个mysql用户组
groupadd mysql
useradd -g mysql mysql
通过源程序包安装MySQL
1.从mysql的官网下载mysql的安装包(.tar.gz文件)
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz/from/pick
2.假设mysql-5.0.51a.tar.gz下载后所在的目录为:/home/mahaibo下。
现在要把mysql安装在目录:/home/mahaibo/install/mysql
mysql调用的mysql. ...
1. get和load区别
load加载方法:
Users user = (Users)session.load(Users.class, new Integer(1));
get加载方法:
Users user = (Users)session.get(Users.class, new Integer(1));
以上面代码为例:
区别一:如果没有id为1的Users对象,那么,如果通过get方法加载,则返回的是一个null,如果通过load加载,则返回一个代理对象,如果后面代码如果调用user对象的某个属性(比如user.getPassword())会抛出异常:org.hib ...
1.key是指外键
比如:
<hibernate-mapping>
<class name="com.domain.Classes" table="classes" >
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="n ...
- 2008-01-28 18:07
- 浏览 2007
- 评论(0)
hibernate 关系映射 one-to-one主要有三种实现方式
1.通过外键方式实现
以学生和电脑为例(Student-Computer)
建表sql语句:
CREATE DATABASE `onetoone`
CHARACTER SET 'utf8';
USE `onetoone`;
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
PRIMARY KE ...
- 2008-01-28 17:16
- 浏览 8413
- 评论(2)
Hibernate中的集合
Hibernate中的集合分为四类:
1.bag类:元素无序,可重复
2.set类:元素无序,不可重复
3.list类:元素有序,可重复
4.array类:数组
5.map类:映射关系
除bag类集合外,其它集合都可以在java api中找到对应的接口类,bag可以认为对应java中的List
Hibernate中将集合分为2类:
一是值集合,集合中存储的都是基本数据类型,包括String类型,及其它可识别的数据库类型
二是实体集合,集合中存储已经映射了的实体对象,反应对象间的关系。
以班级和学生为例:
建表sql语句:
CREATE DATABASE `h ...
- 2008-01-28 13:47
- 浏览 2195
- 评论(0)
以以个普通Users表为例:
建表语句:
CREATE DATABASE `interceptor`
CHARACTER SET 'utf8';
USE `interceptor`;
DROP TABLE IF EXISTS `users`;
create table users(
id int auto_increment primary key,
name varchar(10) not null,
passwd varchar(10) not null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
User.java:
...
- 2008-01-25 15:07
- 浏览 9927
- 评论(10)
hibernate:many-to-many
以学生和老师为例
建表语句:
CREATE DATABASE `manytomany`
CHARACTER SET 'utf8';
USE `manytomany`;
DROP TABLE IF EXISTS `student`;
create table student(
sid int auto_increment primary key,
name varchar(10) not null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `t ...
- 2008-01-25 11:25
- 浏览 4320
- 评论(0)
利用FileUpload组件上传文件,需要到apache上下载jar包
http://commons.apache.org/fileupload/
同时因为fileupload组件本身依赖apache common下的io包,所以也需要下载
http://commons.apache.org/io/
form.jsp
<form action="/fileupload/UploadServlet" method="post" enctype="multipart/form-data">
username: ...
- 2008-01-23 03:05
- 浏览 6675
- 评论(1)
hibernate里的一对多one-to-many(以学生和班级为例子)
1.双向关联情况下
Classes.java:
package com.domain;
import java.util.HashSet;
import java.util.Set;
public class Classes implements java.io.Serializable {
private Integer id;
private String name;
private Set students = new HashSet(0);
public C ...
- 2008-01-21 17:58
- 浏览 3972
- 评论(2)
hibernate大字段处理:以mysql为例
比如传张图片,把图片存到某个字段里。
POJO类里大字段类型为:java.sql.Blob
1.Photo.java
import java.sql.Blob;
public class Photo implements java.io.Serializable {
private Integer pid;
private String pname;
private Blob photo;
public Photo() {
}
public Photo(String pname) {
...
- 2008-01-21 16:45
- 浏览 3177
- 评论(0)
一个页面嵌套一个页面,比如a.jsp嵌套b.jsp那么可以用
<jsp:include page="include.jsp"/>
但是如果b.jsp是通过servlet返回来的一个页面。
错误写法:
<jsp:include page="/testServlet"></jsp:include>因为<jsp:include>标签只能include实体页面,而不能include一个请求。,如果include了一个请求,会报java.io.IOException: Stream closed异常。总结:inc ...
- 2008-01-15 10:45
- 浏览 3514
- 评论(2)
1.java里的clone分为:
A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。
Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点
1.在派生类中覆盖基类的clone()方法,并声明为public【Object类中的clone()方法为protected的】。
2.在派生类的clone()方法中,调用super.clone()。
3.在派生类中实现Cloneable接口。
Object类里的clone方法是浅复制(浅克隆)
浅复制 ...
1.eclipse3.3里${date}日期格式为:
Jan 8, 2008
不是很习惯,如果想改变这种格式,比如想改为:2008-1-8这样的格式,则可以通过下面的方式
2.从http://wiki.eclipse.org/index.php/CVS_Howto下载eclipse的源码,主要下载org.eclipse.text包下的类
3.找到org ...
1.hibernate中java对象的三种状态,三种状态都是对缓存而言的。
1)临时状态
New,delete()
不在session的缓存中,数据库中无对应的数据。
2)持久化状态
Save() 临时->持久
load(),get() 返回持久
update(),saveOrUpdate(),lock() 游离->持久
在session的缓存中,数据库中有对应的数据。
3)游离状态
Clear(),Close() 全部 持久->游离
Evict() 一个 持久->游离
不在session的缓存中,数据库中可能存在对应的数据
2.S ...
- 2008-01-05 23:24
- 浏览 1722
- 评论(2)