CRUD的操作
通俗的来讲:就是增(Create)删(Delete)改(Update)查(Read)
接上篇 https://blog.csdn.net/qq_44475743/article/details/88563254
因为在创建工厂的时候就会去创建数据库,这里是非常消耗资源的,我们可以把创建工厂的过程封装起来,只运行一次。
//因为只创建一次数据表,所以用static修饰,使用单例
private static SessionFactory SessionFactory;
private Session session;
static{
SessionFactory = new Configuration().configure().buildSessionFactory();
}
//Before 注解下的方法会在Test下的方法执行之前执行
@Before
public void getSession(){
System.out.println("==============before");
session = SessionFactory.openSession();
}
//After 注解下的方法会在Test下的方法执行之后执行
@After
public void closeSession(){
System.out.println("===============after");
//判断session是否为null
if (session!=null) {
//关闭session
session.close();
}
}
新增在上篇举例时写过了,这里就不在写了,下面是查找,修改,删除
查询
将重复的代码进行封装,代码量减少了不少
修改和删除,是先对数据库进行查询,查到次行数据在对其进行操作
//查询
@Test
public void queryUser(){
//查询id为1的用户
User user = session.get(User.class, 1);
//输出
System.out.println(user);
}
//修改
@Test
public void updateUser(){
//先查询,在修改
Transaction transaction = session.beginT