java hibernate框架搭建_Hibernate框架_搭建第一个Hibernate框架

一、eclipse搭建

A.创建动态web项目

New-->Dynamic web project(web project)

B.导入jar包

1.数据库驱动包

003b0d722da366589c03bf686743e80f.png

2.hibernate开发必须jar包(去官网下载hibernate,解压后里面lib-->required,里面jar包是hibernate必须jar包)

3c42acad99fe522a9ca9f7ec760dd3a7.png

3.日志记录包

283d61ee1cbc17504fac394491bd457a.png

C.创建表(也可以不创建)

D.创建实体类(数据库中如一个客户表就是客户实体,用Java语言描述出来)

public classCustomer {privateLong cust_id;privateString cust_name;privateString cust_source;privateString cust_industry;privateString cust_level;privateString cust_phone;privateString cust_mobile;publicLong getCust_id() {returncust_id;

}public voidsetCust_id(Long cust_id) {this.cust_id =cust_id;

}publicString getCust_name() {returncust_name;

}public voidsetCust_name(String cust_name) {this.cust_name =cust_name;

}publicString getCust_source() {returncust_source;

}public voidsetCust_source(String cust_source) {this.cust_source =cust_source;

}publicString getCust_industry() {returncust_industry;

}public voidsetCust_industry(String cust_industry) {this.cust_industry =cust_industry;

}publicString getCust_level() {returncust_level;

}public voidsetCust_level(String cust_level) {this.cust_level =cust_level;

}publicString getCust_phone() {returncust_phone;

}public voidsetCust_phone(String cust_phone) {this.cust_phone =cust_phone;

}publicString getCust_mobile() {returncust_mobile;

}public voidsetCust_mobile(String cust_mobile) {this.cust_mobile =cust_mobile;

}

@OverridepublicString toString() {return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + ", cust_source=" +cust_source+ ", cust_industry=" + cust_industry + ", cust_level=" + cust_level + ", cust_phone=" +cust_phone+ ", cust_mobile=" + cust_mobile + "]";

}

}

E.根据实体创建映射文件(统一一下文件命名规范:类名.hbm.xml。文件位置一般和实体类放在一起)

Customer.hbm.xml<?xml version="1.0" encoding="UTF-8"?>

/p>

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

标签及其属性所代表的含义:

class标签用来建立类和表的关系映射

*name 表示该类的全路径(带包路径)

*table 与该类映射的表名,如果表名和类名一致,表名可以省略不写

*catalog:数据库名称,可以省略

id标签用来建立类中属性域表中主键字段的对应

*name 类中的属性名

*column 表中的字段名,如果类中的属性名和表中的字段名一致,可以省略column

*length:字段的长度,用于hibernate帮你建表时候指定表中字段的长度,默认为sql类型中长度最大值

*type:类型,有三种写法:

java数据类型:如java.lang.String

hibernate类型: string (type属性默认值)

sql类型: 如varchar

对于type扩展:

3702fdafdb48d55e16047cc6875c6df3.png

property标签:用来建立表中类的普通属性域表中普通字段的对应

这里面也同样有四个属性,name,column,length,type,和上面id标签用法一样,只是多了not-null,unique,可以设置属性非空或者唯一

F.创建hibernate配置文件。(该文件命名为hibernate.cfg.xml)

/p>

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/hibernate_crm?useUnicode=true&characterEncoding=UTF8

root

root

org.hibernate.dialect.MySQLDialect

true

true

update

对于hibernate.hbm2dd.autol属性,有四个值

none:不用hibernate自动生成表

create:每次运行hibernate都会创建一个新的表

create-drop:每次创建都会创建一个新的表,执行程序结束后删除这个表

update:如果数据库中有该表,使用数据库中原有的表,如果没有,hibernate会帮你创建一个新表,可以更新表的结构

validate:只会使用原有的表。对映射关系进行校验

G.编写测试类

/*** 插入数据

**/@Testpublic voiddemo1() {//加载配置文件

Configuration cfg = new Configuration().configure("hibernate.cfg.xml");//根据配置文件获取session工厂对象

SessionFactory sessionFactory =cfg.buildSessionFactory();//从session工厂里面获取session对象

Session session =sessionFactory.openSession();//开启事务

Transaction tx =session.beginTransaction();//保存更新数据

Customer cust = newCustomer();

cust.setCust_name("张三");

cust.setCust_source("介绍");

cust.setCust_phone("13085469875");

Serializable uid=session.save(cust);

System.out.println(uid);//提交事务

tx.commit();//关闭资源

session.close();

}

至此,eclipse手动搭建的hibernate框架就创建好了。

二.MyEclipse自动创建hibernate框架

A.创建web项目

B.增加hibernate框架

右键项目名称 选择Configure facet--->install hibernate facet(安装hibernate方面)

d57158faa0679f6091b6b4b4d1a1ddf0.png

2a5026b3fb1099e6de36e78f78978e27.png

84c9a458d657cc0ba7e0bdedd304b2d1.png

488ef6a3c8a602eb0123bdd094b02293.png

接下来直接finish。

c.生成hibernate映射文件(其实主要就是开启myeclipse数据库,利用数据库反转生成pojo)

myeclipse创建hibernate就大致这样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值