步骤一:导包
1. 必须包(9个)
2. 驱动包(mysql-connector-java-5.1.7-bin.jar)连接数据库的驱动
步骤二:创建数据库,准备表(示例:客户实体)
CREATE TABLE `cat_customer` (
`cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT ‘客户编号’,
`cust_name` VARCHAR(32) NOT NULL COMMENT ‘客户名称(公司名称)’,
`cust_source` VARCHAR(32)DEFAULT NULL COMMENT‘客户信息来源’,
`cust_industry` VARCHAR(32) DEFAULT NULL COMMENT ‘客户所属行’,
`cust_level` VARCHAR(32) DEFAULT NULL COMMENT ‘客户级别’,
`cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT ‘联系人’,
`cust_phone` VARCHAR(64) DEFAULT NULL COMMENT ‘固定电话’,
`cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT ‘移动电话’,
PRIMARY KEY(`cust_id`)
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET =utf8;
步骤三:书写orm元数据(对象与表的映射配置文件)
1. 导入约束
location 引入dtd文件。
Key type:选择URI
导入约束后 Customer.hbm.xml 文件显示如下:
<!DOCTYPE hibernate-mapping PUBLIC
“-//Hibernate/Hibernate Mapping DTD 3.0//EN”
“http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd”>
2. 实体
实体为:Customer.java
package cn.it.domain
public class Customer {
private Long cust_id;
private String cust_name;
private String cust_source;
private String cust_industry;
private String cust_level;
private String cust_phone;
private String cust_mobile;
以下自动生成getter/setter方法。
}
3. orm元数据
配置表与实体对象的关系
<hibernate-mapping>
<class name=”cn.it.domain.Customer(类的全名)” table=”cst_customer(表名)”>
<id name=”cust_id” column=”cust_id”>
<generator class=”native”></generator>
</id>
<property name=”cust_name” column=”cust_name”></property>
<property name=”cust_source” column=”cust_source”></property>
<property name=”cust_industry” column=”cust_industry”></property>
<property name=”cust_level” column=”cust_level”></property>
<property name=”cust_linkman” column=”cust_linkman”></property>
<property name=”cust_phone” column=”cust_phone”></property>
<property name=”cust_mobile” column=”cust_mobile”></property>
</class>
</hibernate-mapping>
步骤四:书写主配置文件 hibernate.cfg.xml
要求:src文件下的xml文件:hibernate.cfg.xml (configuration)
1. 导入:hibernate-configuration-3.0.dtd
2. 在 hibernate.properties 文件中找需要配置的键值对
<!DOCTYPE hibernate-configuration PUBLIC
“-//Hibernate/Hibernate Configuration DTD 3.0//EN”
“http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session-factory>
连接MySQL数据库配置:
<!--连接MySQL驱动-->
<property name=”hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
<!--连接数据库(“///”为本机)-->
<property name=”hibernate.connection.url”>jdbc:mysql:///hibernate1</property>
<!--用户名-->
<property name=”hibernate.connection.username”>root</property>
<!--密码-->
<property name=”hibernate.connection.password”>myPassword</property>
<!--数据库的方言-->
<property name=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>
<!--显示hibernate自动生成的SQL-->
<property name=”hibernate.show_sql”>true</property>
<!--格式化hibernate自动生成的SQL-->
<property name=”hibernate.format_sql”>true</property>
<!--自动创建|更新|校验数据库表结构-->
<property name=”hibernate.hbm2ddl.auto”>update</property>
<!--导入Customer类的映射文件,告诉主配置都有哪些映射-->
<mappingresource=”cn/it/domain/Customer.hbm.xml”>
</session-factory>
</hibernate-configuration>
步骤五:书写代码测试
保存客户(测试Hibernate框架):
package cn.it.test
import org.junit.Test;
public class function() {
Configuration conf = new Configuration().configure();
SessionFactory sessionFactory = conf.buildSessionFactory;
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
//保存客户*************************
Customer c = new Customer();
c.setCust_name("小红帽");
//执行保存
session.save(c);
//**********************************
tx.commit();
session.close();
sessionFactory.close();
}