hibernate_day02——实现类的操作

(友情提示:你要进行对数据库的操作,就得先把数据库启动,启动你创的数据库 use XXX;)

三、实体类操作

(1)crud操作

——添加操作,之前写过的

——根据id查询

数据库:select * from t_user where uid =1;

*准备工作:

     首先复制原来的hibernate_day01,改名hibernate_day02。把uid改回原来的int型,uuid改为native,将数据库名称改为hibernate_day02;不过要自己重新建一个数据库。我们执行工具类使生成表。

最后执行工具类——>有表了。

 

*向里面添加数据,再来根据id查询:

*创建一个测试类:

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

import cn.itcast.Utils.HibernateUtils;
import cn.itcast.entity.User;

public class hibernateTest {
@Test
public void testGet(){
	//1.调用工具类得到SessionFactory
	SessionFactory sessionFactory =HibernateUtils.getSessionFactory();
	//2.获取session
	Session session= sessionFactory.openSession();
	//3.开启事务
	Transaction tx =session.beginTransaction();
	/*4.根据id查询
	 * 调用session里面的get方法
	 * 第一个参数:实体类的class
	 * 第二个参数:id值
	 *
	 */
	User user =session.get(User.class,1);
	System.out.println(user);
	
	//5.提交事务
	tx.commit();
	//6.关闭
	session.close();
	sessionFactory.close();
}

}

打印:

执行:

——修改操作

首先查询,修改值:根据id查询,返回对象

*数据库修改:update t_user set username=?,address=?, where uid=?

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

import cn.itcast.Utils.HibernateUtils;
import cn.itcast.entity.User;

public class hibernateTest {
	@Test
	public void testUpdate(){
		//1.调用工具类得到SessionFactory
		SessionFactory sessionFactory =HibernateUtils.getSessionFactory();
		//2.获取session
		Session session= sessionFactory.openSession();
		//3.开启事务
		Transaction tx =session.beginTransaction();
		/*4.修改操作
		 * 修改uid=2,记录username的值
		 */
		//4.1 根据id查询
		User user =session.get(User.class, 2);
		//4.2向返回的user对象里面设置修改后的值
		user.setUsername("chen");
		//4.3 调用session的update方法进行修改
		//执行过程:到user对象里面找到uid值,进行修改
		session.update(user);
		//5.提交事务
		tx.commit();
		//6.关闭
		session.close();
		sessionFactory.close();
	}

——删除操作(第一种常用)

(2)实体类对象状态(概念)

实体类对象状态有三种

 1)瞬时态:对象里面没有id值,对象与session没有关联

 2)持久态:对象里面有id值,对象与session关联

 3)托管态:对象有id值,对象与session没有关联

 

四、hibernate的一级缓存

 

五、hibernate的事务操作

(1)事务代码规则写法

六、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值