hibernate入门

一. 什么是hibernate

ORM框架/持久层框架( object reference mapping)

ORM
ORM(Object-Relationship-Mapping):是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。

JPA
JPA(Java-Persistence-API):是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。

通过管理对象来改变数据库中的数据, 通过管理对象来操作数据库,Hibernate是一个完完全全的ORM组件,它是完全基于对象来操作数据库中的记录 , 与hibernate类似的框架:mybatis

优势:跨数据库的无缝移植

二. 在项目中添加hibernate支持(手动添加)
1、添加hibernate相关依赖

2、在resource目录下添加hibernate.cfg.xml(核心配置文件)

①添加dtd 约束

展开hibernate的jar,找到下面画红线的文件,点开

将上面画红线的代码块粘贴到 hibernate.cfg.xml中

②添加Hibernate的配置

<?xml version="1.0" encoding="UTF-8"?> root 123 jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT com.mysql.jdbc.Driver org.hibernate.dialect.MySQLDialect thread true true 3、 在开发阶段再创建实体类和实体映射文件(*.hbm.xml) , 注:实体必须实现Serializable接口

实体映射文件

User.hbm.xml

<?xml version="1.0" encoding="UTF-8"?> hibernate的核心配置文件中需要配置实体的映射文件

三.用法
在这里只写一个main方法进行测试了,在开发中以实际情况为准:

package com.zking.hibernate.test;

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.zking.hibernate.entity.User;

public class Test {

public static void main(String[] args) {
	/*
	 * hibernate使用七步走:
	 * 		1、对hibernate.cfg.xml建模
	 * 		2、通过建模所得到的config文件类,获取所配置的sessionfactory
	 * 		3、获取session会话
	 * 		4、开启事务
	 * 		5、操作数据库
	 * 		6、提交事务
	 * 		7、关闭session会话
	 */
	
	// 由于hibernate已经帮我们封装好了, 建模这一步就不用那么麻烦了, 直接调用它的就行:
	Configuration configure = new Configuration().configure("hibernate.cfg.xml");
	SessionFactory sessionFactory = configure.buildSessionFactory();
	// 这里的session会话可以理解为数据库的connection
	Session session = sessionFactory.openSession();
	
	Transaction transaction = session.beginTransaction();
	
	//5、操作数据库
	
	//这里的1为用户的id
	  User user = session.get(User.class, 1);     //查询单个操作
	 
	
	/* 
	 * user.setReal_name("张老三");                  修改操作
	 */
	/*
	 * User user=new User();                       增加操作
	 * user.setReal_name("王五");
	 * user.setRemark("nhyjcfkdh");
	 * user.setBirthday(new Date());
	 * user.setSex("男");
	 * user.setUser_name("ww");
	 * user.setUser_pwd("123");
	 * session.save(user);
	 */
	/* 
	 * User user=new User();                       删除操作
	 * user.setId(3);
	 * session.delete(user);
	 */
	transaction.commit();
	session.close();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值