Hibernate实现CRUD
3、update:修改,将所有非主键的字段全部修改,主键作为条件---必须开启事务
1、save:返回值为新增的主键值--无需开启事务
2、get:获取指定主键的对象--无需开启事务3、update:修改,将所有非主键的字段全部修改,主键作为条件---必须开启事务
4、delete:删除,将主键作为条件---必须开启事务
package com.tf.test;
import java.util.Calendar;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import com.tf.domain.User;
/**
* @author tf
* @time 2017年11月8日
* @version 1.0 备注:测试类, hibernate的使用 注意:
*/
public class MyTest {
// Hibernate的基本使用
@Test
public void test1() {
// 1、创建配置对象
Configuration config = new Configuration().configure();
// 2、创建Session工厂对象
SessionFactory factory = config.buildSessionFactory();
// 3、获取Session对象
Session session = factory.openSession();
// 4、操作数据库
User user = new User();
user.setPassword("123");
user.setUsername("tf");
user.setTime(Calendar.getInstance().getTime());
// 返回的值是主键值
System.out.println("保存" + session.save(user));
// 5、关闭
session.close();
}
// Hibernate实现数据库的查询
@Test
public void test2(){
// 1、创建配置对象并加载配置文件
Configuration config = new Configuration().configure();
// 2、创建工厂对象
SessionFactory factory = config.buildSessionFactory();
// 3、创建Session对象
Session session = factory.openSession();
// 4、操作数据:此处的“1”表示user的id
User user = session.get(User.class, 1);
System.out.println(user);
// 5、关闭:session关闭之后,不能在使用
session.close();
}
// Hibernate实现修改操作————开启事务
@Test
public void test3(){
// 1、创建配置对象并加载配置文件
Configuration config = new Configuration().configure();
// 2、创建工厂对象
SessionFactory factory = config.buildSessionFactory();
// 3、创建Session对象
Session session = factory.openSession();
// 4、开启事务
Transaction tran = session.beginTransaction();
User user = new User();
user.setId(1);
user.setUsername("ttff");
user.setPassword("123456");
try {
session.update(user);
// 执行成功、提交事务
tran.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
// 执行失败、进行回滚
tran.rollback();
}
// 关闭
session.close();
}
// Hibernate实现删除
@Test
public void test4(){
// 1.创建配置对象并加载配置文件
Configuration config = new Configuration().configure();
// 2.创建工厂对象
SessionFactory factory = config.buildSessionFactory();
// 3.创建session对象
Session session = factory.openSession();
// 4.开启事务
Transaction tran = session.beginTransaction();
User user = new User();
user.setId(1);
try {
// 删除:注意参数为要删除的表的类的对象,必须设置其主键,此处指的就是id
session.delete(user);
// 删除成功则提交事务
tran.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
// 删除失败则进行事务的回滚操作
tran.rollback();
}
// 关闭session
session.close();
}
}