一般使用集成开发环境是,把所需的类库添加到项目属性的库路径中,开发工具在部署时会自动复制所需要的类包到WEB-INF\lib目录下
MyEclipse中:
创建项目,右击项目->myeclipse->Project Facets->Install Hibernate Facets即可
程序结构
1.建表
本例选择Sql Server2008作为数据库 在MySQL中新增一个ztest数据库,建立 CUSTOMER 表
CREATE TABLE CUSTOMER
(
CID INTEGER NOT NULL PRIMARY KEY,
USERNAME VARCHAR(12) NOT NULL,
PASSWORD VARCHAR(12)
);
2.创建PO对象
package com.session; public class Customer {
private int id;
private String username;
private String password; public int getId() {
return id;
}
public String getPassword() {
return password;
}
public String getUsername() {
return username;
}
public void setId(int id) {
this.id = id;
}
public void setPassword(String password) {
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
}
3.XML映像文件
为了告诉Hibernate对象如何映像至数据库表格,需要编写一个XML映射文件,命名为Customer.hbm.xml
与对应的表名要一致,XML映射文件如下
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.session.Customer" table="CUSTOMER">
<id name="id" column="CID" type="java.lang.Integer">
<generator class="increment" />
</id>
<property name="username" column="USERNAME" type="java.lang.String"/>
<property name="password" column="PASSWORD" type="java.lang.String"/>
</class>
</hibernate-mapping>
注意:
class name =java文件完整地址+文件名
table=数据库中建的表名
name为java文件中的属性,column为数据库中的属性,二者对应。不要忘了添加type,否则可能出错
4.定义Hibernate配置文件
主要是进行SessionFactory配置,Hibernate可以使用XML或属性文件来进行配置,下面是使用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-configuration>
<session-factory>
<!-- sql Server数据库驱动 -->
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<!-- sql Server数据库名称 -->
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433; DatabaseName=ztest</property>
<!-- 数据库的登陆用户名 -->
<property name="hibernate.connection.username">sa</property>
<!-- 数据库的登陆密码 -->
<property name="hibernate.connection.password">123</property>
<mapping resource ="com/session/Customer.hbm.xml"/>
<!-- 注意:必须是“/”而不能是“.”。 -->
</session-factory> </hibernate-configuration>
注意:这个文件的文件头和3中的文件头是不一样的,另外注意第三行的版本号别写错了
另外不同的数据库驱动也不同
5.编写应用程序
下面为一个演示程序
package com.session; import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; public class Test {
public static void main(String[] args) {
try {
SessionFactory sf =
new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction(); for (int i = 0; i < 200; i++) {
Customer customer = new Customer();
customer.setUsername("customer" + i);
customer.setPassword("customer");
session.save(customer);
} tx.commit();
session.close(); } catch (HibernateException e) {
e.printStackTrace();
}
}
}
编译执行Test.java
在Sql Server2008中执行查询语句: Select * from CUSTOMER
结果
另附链接 2004年的一篇文章: http://blog.****.net/doodoofish/article/details/43207/
好的技术会被不断发展完善。