博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate 入门案例
阅读量:5859 次
发布时间:2019-06-19

本文共 2900 字,大约阅读时间需要 9 分钟。

hibernate框架介绍:

ORM概念(非常重要)

O,Object 对象.       R,Relation 关系.     M,Mapping 映射

ORM:对象关系映射!

ORM,攻克了什么问题?

存储:是否能把对象的数据直接保存到数据库中

获取:是否能直接从数据库拿到一个对象

要想做到上述两点,必需要有映射

总结:Hibernate与 ORM的关系:Hibernate是ORM的实现

怎样搭建一个Hibernate开发环境,开发步骤:

(1)下载源代码:版本号hibernate-distribution-3.6.0.Final

(2)引入jar文件 :Hibernate3.jar核心+required必须引入的(6个)+jsp文件夹+mysql驱动

(3)写对象以及对象的映射

Employee.java 对象

Employee.hbm.xml 对象的映射(一般我们使用hbm.xml结尾,这是为了区分Hibernate映射文件)

(4)src/hibernate.cfg.xml(这个文件的命名必须这样写)

1.Employee.java

package cn.itcast.hello;import java.util.Date;public class Employee {	private int id;	private String empName;	private Date workDate;	public int getId() {		return id;	}	public void setId(int id) {		this.id = id;	}	public String getEmpName() {		return empName;	}	public void setEmpName(String empName) {		this.empName = empName;	}	public Date getWorkDate() {		return workDate;	}	public void setWorkDate(Date workDate) {		this.workDate = workDate;	}	}
2.Employee.hbm.xml文件

主要包含主键映射和非主键映射

xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.hello"> <class name="Employee" table="employee"> <!-- 主键 映射--> <id name="id"> <generator class="native"></generator> </id> <!-- 非主键 映射 --> <property name="empName" column="empName"></property> <property name="workDate" column="workDate"></property> </class> </hibernate-mapping>

3.hibernate.cfg.xml文件

(1)数据库连接的配置.假设不懂能够去Hibernate源代码/project/etc/hibernate.properties找到复制粘贴就可以

(2)其它配置包含方言以及是不是自己主动建表的配置信息

(3)映射文件的引入.<mapping resource="配置文件的文件夹"/>

com.mysql.jdbc.Driver
jdbc:mysql:///day25
root
169500
org.hibernate.dialect.MySQL5Dialect
true
create
4.測试类AppTest

编写步骤:

(1).获取载入配置文件的管理类对象.(2).载入配置文件.(3).创建session工厂对象.(4).创建session(代表的是一个对话。与数据库连接的会话).(5).开启事务.(6).与数据库的操作.(7).提交事务.(8).关闭资源.

package cn.itcast.hello;import java.util.Date;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Session;import org.junit.Test;public class AppTest {	@Test	public void test(){		Employee emp=new Employee();		emp.setEmpName("李卫康");		emp.setWorkDate(new Date());		//1.获取载入配置文件的管理类对象		Configuration config=new Configuration();		//2.载入配置文件		config.configure();//默认载入的是src文件夹下的hiberate.xml文件		//3.创建session工厂对象		SessionFactory factory = config.buildSessionFactory();		//4.创建session(代表的是一个对话。与数据库连接的会话)		Session session = factory.openSession();		//5.开启事务		Transaction tx = session.beginTransaction();		//6.与数据库的操作		session.save(emp);		//7.提交事务		tx.commit();		//8.关闭资源		session.close();			}	}
执行结果能够发现数据库中多了一个employee的表,并有一条记录

你可能感兴趣的文章
C++之类的内存分配问题
查看>>
MyBatis --搜索拼接
查看>>
mysql alter
查看>>
shell脚本介绍、结构和执行、变量及date命令用法
查看>>
Xamarin.Android使用教程之在Android和Xamarin Android Visua
查看>>
javaweb学习总结(三十六)——使用JDBC进行批处理
查看>>
DPI , dot per inch
查看>>
Rancher被Gartner评为“四大最酷云基础设施供应商”之一!
查看>>
Gradle学习笔记之Groovy
查看>>
yaf框架封装简单的pdo类
查看>>
在Centos上Rpm模式部署Mysql
查看>>
PHP中怎么使用PDO对象实现对MYsql数据库的增、删、改、查?
查看>>
安卓开源项目周报0426
查看>>
hexo博客解决不蒜子统计无法显示问题
查看>>
Hibernate中使用c3p0连接池
查看>>
sharepoint 工作流 infopath任务表单中 重复表数据的读写
查看>>
使用fio测试磁盘I/O性能报告
查看>>
python-20:爬取糗事百科段子源码
查看>>
通过qq通信原理
查看>>
我的友情链接
查看>>