**
使用Hibernate操作实体对象
**
1.使用Session的接口保存Java对象;
@Test
public void testSave(){
System.out.println(“test------”);
User user = new User();//瞬时对象
//单例模式创建会话工厂对象
SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory();
//创建会话对象,事务对象
Session session = null;
Transaction transaction = null;
//开启事务
session = sessionFactory.openSession();;
transaction = session.beginTransaction();
user.setUsername("a");
user.setPassword("1234");
user.setAge("12");
user.setGender("女");
session.save(user);//持久对象
//提交事务
transaction.commit();
//关闭事务
session.close();
}
Sql语句:
Hibernate:
insert
into
hibernate.t_user
(username, password, age, gender)
values
(?, ?, ?, ?)
结果:
2、使用Session的接口查询Java对象;
@Test
public void testQuery(){
System.out.println(“test--------”);
User user = new User();//瞬时对象
//单例模式创建会话工厂对象
SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory();
//创建会话对象,事务对象
Session session = null;
session = sessionFactory.openSession();
user = (User) session.get(User.class,10);//持久对象
System.out.println(user.getUsername());
System.out.println(user.getAge());
System.out.println(user.getUid());
System.out.println(user.getPassword());
System.out.println(user.getGender());
session.close();
}
Sql语句:
Hibernate:
select
tuser0_.uid as uid0_0_,
tuser0_.username as username0_0_,
tuser0_.password as password0_0_,
tuser0_.age as age0_0_,
tuser0_.gender as gender0_0_,
from
hibernate.t_user tuser0_
where
tuser0_.uid=?
结果:
3.使用Session的接口更新Java对象;
@Test
public void testUpdate(){
System.out.println(“test-------”);
User user = new User();//瞬时对象
//单例模式创建会话工厂对象
SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory();
//创建会话对象,事务对象
Session session = null;
Transaction transaction = null;
//开启事务
session = sessionFactory.openSession();
transaction = session.beginTransaction();
session = sessionFactory.openSession();;
transaction = session.beginTransaction();
user.setUid(6);
user.setUsername("f");
user.setAge(12);
user.setPassword("1234");
user.setGender("男");
session.update(tUserEntity);//持久对象
//提交事务
transaction.commit();
//关闭事务
session.close();
}
Sql语句:
Hibernate:
update
hibernate.t_user
set
username=?,
password=?,
age=?,
gender=?
where
tuser0_.uid=?
结果:
4.使用Session的接口删除Java对象;
@Test
public void testDelete(){
System.out.println(“test--------”);
User user = new User();//瞬时对象
//单例模式创建会话工厂对象
SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory();
//创建会话对象,事务对象
Session session = null;
Transaction transaction = null;
//开启事务
session = sessionFactory.openSession();;
transaction = session.beginTransaction();
session = sessionFactory.openSession();;
transaction = session.beginTransaction();
user.setUid(6);
user.setUsername("f");
user.setPassword("1234");
user.setAge(12);
session.delete(tUserEntity);
//提交事务
transaction.commit();
//关闭事务
session.close();
sessionFactory.close();
}
Sql语句:
Hibernate:
delete
from
hibernate.t_user
where
uid=?
结果: