hibernate Session的CRUD操作

使用Session里面的方法进行CRUD操作

 (1) 增加 save 方法

 (2) 查找 get 方法(根据id查)

 (3) 修改 update 方法

 (4) 删除 delete 方法


1、增加

    /**
     * 增加操作
     */
    public void testCreate(){
        //找到src下名为hibernate.cfg.xml的配置文件,加载核心配置文件。
        Configuration cfg = new Configuration();
        cfg.configure();
        //创建SessionFactory对象,在核心配置文件中找到各个映射文件如User.hbm.xml。
        //一般一个项目只创建一个SessionFactory因为SessionFactory创建极为耗费资源。
        //这里为了方便每个测试创建了一个
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        //创建session对象,里面封装了很多对数据库的操作。
        //sesssion是单线程对象,不能共用
        Session session = sessionFactory.openSession();
        //开启事物
        Transaction tx = session.beginTransaction();
        
        User user = new User();
        user.setuName("你好");
        user.setuPwd("世界");
        session.save(user);
        
        //提交事物
        tx.commit();
        //关闭资源
        session.close();
        sessionFactory.close();
        
    }

2、查找

/**
     * 查询操作
     */
    public void testRetrieve(){
        Configuration cfg = new Configuration();
        cfg.configure();
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        
        User user = new User();
        user = session.get(User.class, 1);
        System.out.println(user.toString());
        
        tx.commit();
        session.close();
        sessionFactory.close();
        
    }

3、修改

/**
     * 修改操作
     */
    public void testUpdate(){
        Configuration cfg = new Configuration();
        cfg.configure();
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        
        User user = new User();
        user = session.get(User.class, 1);
        user.setuName("Hello");
        session.update(user);
        
        tx.commit();
        session.close();
        sessionFactory.close();
    }

4、删除

/**
     * 删除操作
     */
    public void testDelet(){
        Configuration cfg = new Configuration();
        cfg.configure();
        SessionFactory sessionFactory = cfg.buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        
        User user = new User();
        user = session.get(User.class, 1);
        session.delete(user);
        
        tx.commit();
        session.close();
        sessionFactory.close();
    }

实体类

package dao;

public class User {
    private int uId;
    private String uName;
    private String uPwd;
    public int getuId() {
        return uId;
    }
    public void setuId(int uId) {
        this.uId = uId;
    }
    public String getuName() {
        return uName;
    }
    public void setuName(String uName) {
        this.uName = uName;
    }

    public String getuPwd() {
        return uPwd;
    }
    public void setuPwd(String uPwd) {
        this.uPwd = uPwd;
    }
    @Override
    public String toString() {
        return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd + "]";
    }
}
原文地址:https://www.cnblogs.com/lolybj/p/6261723.html