Hibernate CRUD操作

Hibernate CRUD操作

环境

java 12.0.1
Apache Maven 3.6.3
MySQL Server version: 5.7.18-20170830-log 20170531
hibernate-core-5.4.27.Final.jar
mysql-connector-java-8.0.21.jar
IntelliJ IDEA 2020.2.3 (Ultimate Edition)

CRUD

增加(Create)

public void create(List<User> userList) {
    
    
    for (User user : userList) {
    
    
        session.save(user);
    }
}

public void create(User user) {
    
    
    session.save(user);
}

检索(Retrieve)

// 通过主键ID检索
public User retrieveById(int id) {
    
    
    User user = session.get(User.class, id);
    return user;
}

// 检索表中所有记录
public List<User> retrieveAll() {
    
    
    Criteria criteria = session.createCriteria(User.class);
    return criteria.list();
}

// 依据限制条件检索
public List<User> retrieveWithRestrictions(Map<String, String> propertyNameValues) {
    
    
    Criteria criteria = session.createCriteria(User.class);
    criteria.add(Restrictions.allEq(propertyNameValues));
    return criteria.list();
}

// 模糊检索
public List<User> retrieveLike(String propertyName, String value) {
    
    
    Criteria criteria = session.createCriteria(User.class);
    criteria.add(Restrictions.like(propertyName, value));

    return criteria.list();
}

// 区间检索
public List<User> retrieveBetween(String propertyName, int low, int high) {
    
    
    Criteria criteria = session.createCriteria(User.class);
    criteria.add(Restrictions.between(propertyName, low, high));
    return criteria.list();
}

更新(Update)

public void update(User user) {
    
    
    session.update(user);
}

删除(Delete)

public void delete(User user) {
    
    
    session.delete(user);
}

Java代码

User类

package com.demo.hibernate;

public class User {
    
    
    private int id;
    private String user;
    private String password;

    public User(String user, String password) {
    
    
        this.user = user;
        this.password = password;
    }

    public User() {
    
    

    }

    public int getId() {
    
    
        return id;
    }

    public void setId(int id) {
    
    
        this.id = id;
    }

    public String getUser() {
    
    
        return user;
    }

    public void setUser(String user) {
    
    
        this.user = user;
    }

    public String getPassword() {
    
    
        return password;
    }

    public void setPassword(String password) {
    
    
        this.password = password;
    }

    @Override
    public String toString() {
    
    
        return "User{" +
                "id=" + id +
                ", user='" + user + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
};

Hibernate类

package com.demo.hibernate;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;

public class Hibernate {
    
    
    private Configuration configuration;
    private StandardServiceRegistry standardServiceRegistry;
    private SessionFactory sessionFactory;
    protected Session session;
    protected Transaction transaction;

    public Hibernate() {
    
    
        try {
    
    
            configuration = new Configuration();
            configuration.configure("hibernate.cfg.xml");
            standardServiceRegistry = new StandardServiceRegistryBuilder().configure().build();
            sessionFactory = configuration.buildSessionFactory(standardServiceRegistry);
            session = sessionFactory.openSession();
            transaction = session.beginTransaction();
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
    }
}

UserHibernate类

package com.demo.hibernate;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserHibernate extends Hibernate {
    
    
    public void commit() {
    
    
        transaction.commit();
    }

    public void create(List<User> userList) {
    
    
        for (User user : userList) {
    
    
            session.save(user);
        }
    }

    public void create(User user) {
    
    
        session.save(user);
    }

    public void delete(User user) {
    
    
        session.delete(user);
    }

    public void update(User user) {
    
    
        session.update(user);
    }

    public User retrieveById(int id) {
    
    
        User user = session.get(User.class, id);
        return user;
    }

    public List<User> retrieveAll() {
    
    
        Criteria criteria = session.createCriteria(User.class);
        return criteria.list();
    }

    public List<User> retrieveWithRestrictions(Map<String, String> propertyNameValues) {
    
    
        Criteria criteria = session.createCriteria(User.class);
        criteria.add(Restrictions.allEq(propertyNameValues));
        return criteria.list();
    }

    public List<User> retrieveLike(String propertyName, String value) {
    
    
        Criteria criteria = session.createCriteria(User.class);
        criteria.add(Restrictions.like(propertyName, value));

        return criteria.list();
    }

    public List<User> retrieveBetween(String propertyName, int low, int high) {
    
    
        Criteria criteria = session.createCriteria(User.class);
        criteria.add(Restrictions.between(propertyName, low, high));
        return criteria.list();
    }

    public static void main(String[] args) {
    
    
        UserHibernate userHibernate = new UserHibernate();

        // Create

        List<User> users = new ArrayList<User>();

        users.add(new User("Tony", "123456"));
        users.add(new User("Tim", "123456"));
        users.add(new User("Tom", "123456"));
        users.add(new User("Charles", "123456"));
        users.add(new User("Bill", "123456"));
        users.add(new User("Tina", "123456"));

        userHibernate.create(users);

        // Delete

        userHibernate.delete(userHibernate.retrieveById(6));

        // Update

        User updatedUser = userHibernate.retrieveById(5);
        updatedUser.setPassword("123");
        userHibernate.update(updatedUser);

        // Commit Transaction

        userHibernate.commit();

        // Retrieve


        List<User> userList = userHibernate.retrieveAll();
        for (User user : userList) {
    
    
            System.out.println(user.getUser());
        }

        Map<String, String> propertyNameValues = new HashMap<String, String>();
        propertyNameValues.put("user", "Tom");
        propertyNameValues.put("password", "123456");

        userList = userHibernate.retrieveWithRestrictions(propertyNameValues);

        for (User user : userList) {
    
    
            System.out.println(user);
        }

        userList = userHibernate.retrieveLike("user", "T%");
        for (User user : userList) {
    
    
            System.out.println(user);
        }

        userList = userHibernate.retrieveBetween("id", 1, 3);
        for (User user : userList) {
    
    
            System.out.println(user);
        }
    }


}

测试结果

select * from user;

最后

  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!

猜你喜欢

转载自blog.csdn.net/qq_44486439/article/details/113445789