hibernate增删改查语句该怎么实现?代码示例

TheDisguiser 2020-08-06 16:34:22 java常见问答 5041

hibernate是数据库映射框架中最为热门的其中一门,它的基本增删改查语句也是一定要掌握的,这次就来了解下。

四大金刚如下:

package com.mengma.test;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.Session;
import org.junit.Test;
import com.mengma.domain.User;
public class UserTest
{
    // 添加操作
    @Test
    public void testInsert()
    {
        // 1.创建Configuration对象并加载hibernate.cfg.xml配置文件
        Configuration config = new Configuration()
            .configure();
        // 2.获取SessionFactory
        SessionFactory sessionFactory = config.buildSessionFactory();
        // 3.得到一个Session
        Session session = sessionFactory.openSession();
        // 4.开启事务
        Transaction transaction = session.beginTransaction();
        // 5.执行持久化操作
        User user = new User();
        user.setName("zhangsan");
        user.setAge(21);
        user.setGender("男");
        // 将对象保存到表中
        session.save(user);
        // 6.提交事务
        transaction.commit();
        // 7.关闭资源
        session.close();
        sessionFactory.close();
    }
}

// 删除操作
@Test
public void deleteByIdTest()
{
    // 1.创建Configuration对象并加载hibernate.cfg.xml配置文件
    Configuration config = new Configuration()
        .configure();
    // 2.获取SessionFactory
    SessionFactory sessionFactory = config.buildSessionFactory();
    // 3.得到一个Session
    Session session = sessionFactory.openSession();
    // 4.开启事务
    Transaction transaction = session.beginTransaction();
    // 5.执行持久化操作
    User user = (User) session.get(User.class, 1);
    session.delete(user);
    // 6.提交事务
    transaction.commit();
    // 7.关闭资源
    session.close();
    sessionFactory.close();
}

// 修改操作
@Test
public void testUpdate()
{
    // 1.创建Configuration对象并加载hibernate.cfg.xml配置文件
    Configuration config = new Configuration()
        .configure();
    // 2.获取SessionFactory
    SessionFactory sessionFactory = config.buildSessionFactory();
    // 3.得到一个Session
    Session session = sessionFactory.openSession();
    // 4.开启事务
    Transaction transaction = session.beginTransaction();
    // 5.执行持久化操作
    User user = new User();
    user.setId(1);
    user.setName("zhangsan");
    user.setAge(19);
    user.setGender("男");
    // 更新数据
    session.update(user);
    // 6.提交事务
    transaction.commit();
    // 7.关闭资源
    session.close();
    sessionFactory.close();
}

// 查询操作
@Test
public void findByIdTest()
{
    // 1.创建Configuration对象并加载hibernate.cfg.xml配置文件
    Configuration config = new Configuration()
        .configure();
    // 2.获取SessionFactory
    SessionFactory sessionFactory = config.buildSessionFactory();
    // 3.得到一个Session
    Session session = sessionFactory.openSession();
    // 4.开启事务
    Transaction transaction = session.beginTransaction();
    // 5.执行持久化操作
    User user = (User) session.get(User.class, 1);
    System.out.println(user.getId() + "" + user.getName() + "" +
        user.getAge() + "" + user.getGender());
    // 6.提交事务
    transaction.commit();
    // 7.关闭资源
    session.close();
    sessionFactory.close();
}

以上就是本篇文章的所有内容,虽然hibernate框架现在已经有一点落魄的意思,但大体还是好的,还想知道更多java架构师知识欢迎关注我们了解。

推荐阅读:

hibernate分页查询,如何用hibernate实现分页查询?

hibernate配置数据库连接的四种属性名是,常用属性及含义介绍

mybatis和hibernate的区别是什么?有什么区别?