代码:
package hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.query.Query;
import org.junit.Test;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @ClassName HibernateTest02
* @Author Tian
* @Date 2020-06-19-10:19
* @Description
**/
public class HibernateTest02 {
/**
* 新增数据
*/
@Test
public void test() {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();
News news = new News("", "", new java.sql.Date(new Date().getTime()));
Serializable id = session.save(news);
session.get(News.class, id);
transaction.commit();
session.close();
System.out.println(news.getTitle() + news.getAuthor());
sessionFactory.close();
}
/**
* 删除数据
*/
@Test
public void test0529QueryDelete(){
//1.创建一个SessionFactory对象
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
//2.创建一个Session对象
Session session = sessionFactory.getCurrentSession();//openSession
//3.开启事物
Transaction transaction = session.beginTransaction();
//4.执行查询
Query query = session.createQuery("delete from News n where n.title = 'name'");
query.executeUpdate();
//5.提交事物
transaction.commit();
//6.关闭Session
session.close();
//7.关闭SessionFactory对象
sessionFactory.close();
}
/**
* 更新数据
*/
@Test
public void test0529QueryUpdate(){
//1.创建一个SessionFactory对象
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
//2.创建一个Session对象
Session session = sessionFactory.getCurrentSession();//openSession
//3.开启事物
Transaction transaction = session.beginTransaction();
//4.执行查询
Query query = session.createQuery("update News n set n.title='name' where n.id = 1");
query.executeUpdate();
//5.提交事物
transaction.commit();
//6.关闭Session
session.close();
//7.关闭SessionFactory对象
sessionFactory.close();
}
/**
* 查询数据
*/
@Test
public void test0602QueryByQBC(){
//1.创建一个SessionFactory对象
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
//2.创建一个Session对象
Session session = sessionFactory.getCurrentSession();//openSession
//3.开启事物
Transaction transaction = session.beginTransaction();
//4.执行查询
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<News> criteria = criteriaBuilder.createQuery(News.class);
Root<News> from = criteria.from(News.class);
List<News> resultList = session.createQuery(criteria).getResultList();
resultList.forEach(System.out::println);
//5.提交事物
transaction.commit();
//6.关闭Session
session.close();
//7.关闭SessionFactory对象
sessionFactory.close();
}
}