zoukankan      html  css  js  c++  java
  • 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最简单的操作语法,更深的知识在其他的篇章再写。

      

  • 相关阅读:
    .net core web api swagger 配置笔记
    mvc下ajax请求遇到session超时简单处理方式
    sql ltrim/rtrim 字段中为中文时出现?的问题
    SQL 将一个字段内用逗号分隔的内容分成多条记录
    bootstrap下modal模态框中webuploader控件按钮异常(无法点击)问题解决办法【转】
    mvc 封装控件使用mvcpager
    uploadify在chrome下初始化失败,在Firefox下却可以原因探析
    MVC FormCollection 无法获取值的问题
    linq to sql之like
    mvcpager 表单提交时无法获取pageindex的值
  • 原文地址:https://www.cnblogs.com/zhaojinyan/p/9340183.html
Copyright © 2011-2022 走看看