我找到的所有Hibernate入门文章分为三类:
1、剖析的很透彻,但是例子里面只有主要代码,不能编译执行。
2、举的例子只能在某种环境中执行,例如tomcat。
3、长篇大论,光一个hbm.xml就写了一页纸,晕。
在这里,我提供一个最简便的入门例子。(其中例子基于透明的文章《冬眠的数据库》)
步骤:
准备工作:
安装j2se sdk 1.4.2以上版本,和mysql数据库(其他数据库的话,请自己修改配置)。
1、下载Hibernate 2.1展开。
2、创建一个自己的工作目录例如 e:\my。
3、在工作目录下建立以下文件(见文章最后):
a. setenv.bat // 用以设置 hibernate 应用程序的编译运行所需类路径
b. hibernate.properties // Hibernate 配置文件,主要用来配置数据库
c. user.hbm.xml // 数据类和数据表的映射设置文件
d. HbTest.java // 主程序
e. User.java // 数据类
4、修改setenv.bat,其中 HIBERNATE_HOME 应该设成你自己的Hibernate目录。
5、修改hibernate.properties
把HypersonicSQL的设置注释掉,把mysql的设置去掉注释符
hibernate.connection.url jdbc:mysql:///test
hibernate.connection.username root
hibernate.connection.password ××××××
把其中的mysql路径、用户名、密码设成适合自己的。
6、编译程序
在DOS窗口中进入工作目录,执行setenv.bat。然后执行如下:
javac User.java
javac -sourcepath .\ HbTest.java
7、执行
java HbTest
可以查看mysql中的数据库test,应该已建立了一张新表User,并插入了新记录。
7、你的第一个Hibernate应用完成了。
附(除hibernate.property以外的所有文件)
setenv.bat
set HIBERNATE_HOME=e:\java\hibernate-2.1 # //要改为自己的目录
set CLASSPATH=%HIBERNATE_HOME%\hibernate2.jar;%HIBERNATE_HOME%\lib\dom4j-1.4.jar;%HIBERNATE_HOME%\lib\commons-logging-1.0.4.jar;%CLASSPATH%
set CLASSPATH=%HIBERNATE_HOME%\lib\commons-collections-2.1.1.jar;%HIBERNATE_HOME%\lib\odmg-3.0.jar;%HIBERNATE_HOME%\lib\cglib-full-2.0.2.jar;%CLASSPATH%
set CLASSPATH=%HIBERNATE_HOME%\lib\mysql-connector-java-3.0.9-stable-bin.jar;%HIBERNATE_HOME%\lib\ehcache-0.9.jar;%CLASSPATH%
User.java
public class User {
private String id;
private String password;
private String mail;
private String nick_name;
User(){
}
User(String aId) {
id=aId;
}
void setId(String aId) {
id=aId;
}
String getId() {
return id;
}
void setPassword(String pass) {
password=pass;
}
String getPassword() {
return password;
}
void setMail(String aMail) {
mail=aMail;
}
String getMail() {
return mail;
}
void setNick_name(String name) {
nick_name=name;
}
String getNick_name() {
return nick_name;
}
}
HbTest.java
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.tool.hbm2ddl.*;
public class HbTest {
public static void main(String[] args) {
try {
Configuration cfg = new Configuration();
cfg.addClass(User.class);
SessionFactory sessions=cfg.buildSessionFactory();
new SchemaExport(cfg).create(true,true);
Session session=sessions.openSession();
User user=new User("qs");
user.setMail("qs@sina.com");
session.save(user);
session.flush();
session.close();
}
catch(MappingException e){
e.printStackTrace(System.err);
}
catch(HibernateException e){
e.printStackTrace(System.err);
}
}
}
User.hbm.xml