Hibernate环境的配置和CURD操作

1.新建java工程项目

新建lib包用来存放从官网下载的Hibernate开发包
在这里插入图片描述
在这里插入图片描述
同时加入c3p0数据库连接池Jar包和jdbc驱动包,然后将所有jar包build path到工程

2.创建实体类和实体类表结构映射关系文件

在这里插入图片描述
映射文件和实体类在同一包下,命名规则是:类名.hbm.xml
在这里插入图片描述

3.配置主配置文件(数据库文件)

配置信息在源码中project下的etc中的hibernate.properties文件

配置SessionFactory,主要用于创建Session对象,来操作数据库。
主要配置有三部分:
1.数据库连接的信息
2.数据库可选项:
(1)是否打印hibernate生成的sql
(2)是否格式化输出sql
(3)实体类的映射文件与表结构不一致时,是否更新表结构
(4)c3p0数据库连接池的配置
3.映射文件的位置
在这里插入图片描述

4.创建一个Demo,测试环境配置是否成功

在这里插入图片描述
可以看到控制台先打印出hibernate生成的实体类对应的数据库表的sql,接着是向表中插入一条数据。
看下数据库的信息:
在这里插入图片描述
数据中的表已经创建好,同时新增了一条数据记录。

5.CURD操作

增加:save();
删除:delete();
查找:get();
修改:update();

package com.demo;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;

import com.model.Platform;
import com.util.HibernateUtil;

public class HibernateDemo1 {

	// 增加
	@Test
	public void testSave() {
		Platform p=new Platform();
		p.setPlatformName("淘宝");
		//通过工具类获取session对象,然后开启事务
		Session session=HibernateUtil.openSession();
		Transaction tx=session.beginTransaction();
		//增加操作
		session.save(p);
		//事务提交
		tx.commit();
		//释放资源
		session.close();
	}
	
	// 查找
	@Test
	public void testFind() {
		Session session =HibernateUtil.openSession();
		Transaction tx=session.beginTransaction();
		//通过get方法,查找Platform实体类中,id为1的实体
		Platform p=session.get(Platform.class, 1);
		System.out.println(p);
		//事务提交
		tx.commit();
		//释放资源
		session.close();
	}
	
	// 修改
	@Test
	public void testUpdate() {
		Session session=HibernateUtil.openSession();
		Transaction tx=session.beginTransaction();
		//先进行查询,再修改
		Platform p=session.get(Platform.class, 1);
		p.setPlatformName("天猫");
		session.update(p);
		//事务提交
		tx.commit();
		//释放资源
		session.close();
	}
	
	// 删除
	@Test
	public void testDelete() {
		Session session=HibernateUtil.openSession();
		Transaction tx=session.beginTransaction();
		//先查询,再删除
		Platform p=session.get(Platform.class, 1);
		session.delete(p);
		//事务提交
		tx.commit();
		//释放资源
		session.close();
	}
	
	//事务回滚
	public void testSave2() {
		Platform p=new Platform();
		p.setPlatformName("闲鱼");
		Session session=null;
		Transaction tx=null;
		try {
			session=HibernateUtil.openSession();
			tx=session.beginTransaction();
			session.save(p);
			tx.commit();
		} catch (Exception e) {
			tx.rollback();
		}finally {
			session.close();
		}
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐州蔡徐坤

又要到饭了兄弟们

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值