第一步:下载Hibernate5的运行环境
1、下载相应的jar包
* http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download
2、解压
第二步:创建表结构
建表语句如下:
create database hibernate_day01;
use hibernate_day01
create table cst_customer(
cust_id bigint(32) not null auto_increment ,
cust_name varchar(32) not null ,
cust_user_id bigint(32) default null,
cust_create_id bigint(32) default null,
cust_source varchar(32) default null,
cust_industry varchar(32) default null,
cust_level varchar(32) default null ,
cust_linkman varchar(64) default null,
cust_phone varchar(32) default null ,
cust_mobile varchar(16) default null,
primary key(cust_id)
)engine=InnoDB auto_increment=90 default charset=utf8;
第三步:搭建Hibernate的开发环境
创建web工程,引入Hibernate开发所需要的jar包
* MySQL的驱动jar包
* Hibernate开发需要的jar包(hibernate-release-5.0.7.Final/lib/required/所有jar包)
* 日志jar包,如图
第四步:编写JavaBean实体类,以后不使用基本数据类型,而是选择包装类
/**
* JavaBean代码
*/
public class Customer {
private Long cust_id;
private String cust_name;
private Long cust_user_id;
private Long cust_create_id;
private String cust_source;
private String cust_industry;
private String cust_level;
private String cust_linkman;
private String cust_phone;
private String cust_mobile;
// 以下是属性的get/set方法
public Long getCust_id() {
return cust_id;
}
public void setCust_id(Long cust_id) {
this.cust_id = cust_id;
}
public String getCust_name() {
return cust_name;
}
public void setCust_name(String cust_name) {
this.cust_name = cust_name;
}
public Long getCust_user_id() {
return cust_user_id;
}
public void setCust_user_id(Long cust_user_id) {
this.cust_user_id = cust_user_id;
}
public Long getCust_create_id() {
return cust_create_id;
}
public void setCust_create_id(Long cust_create_id) {
this.cust_create_id = cust_create_id;
}
public String getCust_source() {
return cust_source;
}
public void setCust_source(String cust_source) {
this.cust_source = cust_source;
}
public String getCust_industry() {
return cust_industry;
}
public void setCust_industry(String cust_industry) {
this.cust_industry = cust_industry;
}
public String getCust_level() {
return cust_level;
}
public void setCust_level(String cust_level) {
this.cust_level = cust_level;
}
public String getCust_linkman() {
return cust_linkman;
}
public void setCust_linkman(String cust_linkman) {
this.cust_linkman = cust_linkman;
}
public String getCust_phone() {
return cust_phone;
}
public void setCust_phone(String cust_phone) {
this.cust_phone = cust_phone;
}
public String getCust_mobile() {
return cust_mobile;
}
public void setCust_mobile(String cust_mobile) {
this.cust_mobile = cust_mobile;
}
}
第五步:创建类与表结构的映射(映射文件配置)
Customer.hbm.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 配置类和表结构的映射 -->
<class name="com.itheima.domain.Customer" table="cst_customer">
<!-- 配置id
见到name属性,是JavaBean的属性
见到column属性,是表结构的字段
-->
<id name="cust_id" column="cust_id">
<!-- 主键的生成策略 -->
<generator class="native" />
</id>
<!-- 配置其他的属性 -->
<property name="cust_name" column="cust_name" />
<property name="cust_user_id" column="cust_user_id" />
<property name="cust_create_id" column="cust_create_id" />
<property name="cust_source" column="cust_source" />
<property name="cust_industry" column="cust_industry" />
<property name="cust_level" column="cust_level" />
<property name="cust_linkman" column="cust_linkman" />
<property name="cust_phone" column="cust_phone" />
<property name="cust_mobile" column="cust_mobile" />
</class>
</hibernate-mapping>
第六步:编写Hibernate核心的配置文件(核心文件配置)
hibernate.cfg.xml的配置文件 :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- 记住:先配置SessionFactory标签,一个数据库对应一个SessionFactory标签 -->
<session-factory>
<!-- 必须要配置的参数有5个,4大参数+数据库的方言 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_day01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password" >1234</property>
<!-- 数据库方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 可选配置 -->
<!-- 显示SQL语句,在控制台显示 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化SQL语句 -->
<property name="hibernate.format_sql">true</property>
<!-- 生成数据库的表结构
update: 如果没有表结构,创建表结构。如果存在,不会创建,只会添加数据
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 映射配置文件,需要引入映射的配置文件 -->
<mapping resource="com/itheima/domain/Customer.hbm.xml" />
</session-factory>
</hibernate-configuration>
第七步:编写Hibernate入门代码
/**
* 测试Hibernate框架
* @author Administrator
*/
public class Demo1 {
@Test
public void testSave() {
/**
* 1.先加载配置文件
* 2.创建SessionFactory对象,生成Session对象
* 3.创建session对象
* 4.开启事务
* 5.编写保存代码
* 6.提交事务
* 7.释放资源
*/
// 1.先加载配置文件
Configuration config = new Configuration();
// 默认加载src目录下hibernate.cfg.xml的配置文件
config.configure();
// 2.创建SessionFactory对象
SessionFactory factory =config.buildSessionFactory();
// 3.创建session对象
Session session = factory.openSession();
// 4.开启事务
Transaction tr = session.beginTransaction();
// 5.编写保存代码
Customer c = new Customer();
// c.setCust_id(cust_id); 主键是自动递增的
c.setCust_name("测试4");
c.setCust_level("2");
c.setCust_phone("110");
// 保存数据,操作对象就相当于操作数据库的表结构
session.save(c);
// 6.提交事务
tr.commit();
// 7.释放资源
session.close();
factory.close();
}
======================================================================
Hibernate入门七步走概述 :
1、下载Hibernate 框架的开发包
2、编写数据库和表结构
3、创建WEB的项目,导入开发的jar包
* MySQL驱动包、Hibernate开发的必须要有的jar包、日志的jar包
4、编写JavaBean,以后不使用基本数据类型,使用包装类
5、编写映射的配置文件(核心)、先导入开发的约束,里面正常配置标签
6、编写hibernate的核心的配置文件,里面的内容是固定的
7、编写代码,使用的类和方法