Hibernate基础增删改查语法

1、创建好Hibernate项目,创建好实体类和测试类,如果不会创建Hibernate项目的同学,点此处:http://www.cnblogs.com/zhaojinyan/p/9336174.html

2、数据库增删改查的操作都在测试类中写的。代码如下:

 添加数据

import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class Test {

   
    public static void test() {
        //创建一个 SessionFactory 对象
        SessionFactory sessionFactory = null;
        
        //创建Configuration对象:对应hibernate的基本配置信息和对象关系映射信息
        Configuration configuration = new Configuration().configure();
       
        //创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
        //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
        ServiceRegistry serviceRegistry = 
                        new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                                                    .buildServiceRegistry();

        sessionFactory = configuration.buildSessionFactory(serviceRegistry);

        // 创建一个 Session 对象
        Session session = sessionFactory.openSession();

        // 开启事务
        Transaction transaction = session.beginTransaction();

        //执行保存和加载操作
        //增数据
        
        News news1 = new News("Java1", "lisi", new Date(new java.util.Date().getTime()));
        News news2 = new News("Java2", "wangwu", new Date(new java.util.Date().getTime()));
        News news3 = new News("Java3", "zhaoliu", new Date(new java.util.Date().getTime()));
        News news4 = new News("Java4", "huhu", new Date(new java.util.Date().getTime()));
        News news5 = new News("Java5", "dudu", new Date(new java.util.Date().getTime()));
        //执行添加用save方法
        session.save(news1);
        session.save(news2);
        session.save(news3);
        session.save(news4);
        session.save(news5);
        
        //5. 提交事务 
        transaction.commit();

        //6. 关闭 Session
        session.close();

        //7. 关闭 SessionFactory 对象
        sessionFactory.close();
    }

    public static void main(String[] args) {
        test();
    }
    
}
View Code

 执行过程:

 

 测试结果:

  

  删除数据 

//删除一条数据(ID=5)
        //先获取id=5的一个对象
        News p =(News) session.get(News.class, 5);
        //执行删除用delete方法
        session.delete(p);
View Code

  执行过程:

  

  测试结果(删除了id=5的一条数据):

  

  修改数据:

 //修改数据
        //先获取id=4的一个对象
        News p=(News)session.get(News.class,4);
       
        //修改数据用到的是实体类中的set成员方法
        p.setTitle("c#");//Title字段
        p.setContent("赵sir");//content字段
        p.setDate(new Date(new java.util.Date().getTime()));//时间字段

  执行过程:

  

  执行结果(id=4的数据已经被修改成我们想要的数据):

  

  查询数据:

  加入了条件:

  //查询数据
        //得到Query对象,并写入hql语句
        Query query = session.createQuery("from News where title='c#'");
        //使用Query对象的list方法得到数据集合
        List<News> list = query.list();
        //遍历集合获取数据
        for (News news : list) {
            System.out.println(news);
        }

  执行结果:

  

在这里简单的介绍了,Hibernate最简单的操作语法,更深的知识在其他的篇章再写。

  

原文地址:https://www.cnblogs.com/zhaojinyan/p/9340183.html