zoukankan      html  css  js  c++  java
  • Hibernate_增删改

    package com.etc.test;
    import java.util.List;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import com.etc.dao.HibernateSessionFactory;
    import com.etc.entity.Book;
    public class Test1
    {
    static void update()//修改
    {
    //从工具类获取1条记录
    Session s = HibernateSessionFactory.getSession();
    //开启事务
    s.beginTransaction();
    try
    {
    //执行修改
    Book book=new Book("老黑传",100f,"老白",100f);
    book.setBid(12);
    s.update(book);//修改
    }
    catch (Exception e)
    {
    e.printStackTrace();
    s.getTransaction().rollback();//回滚事务
    }
    //提交事务
    s.getTransaction().commit();
    System.out.println("修改成功!");
    //关闭连接
    HibernateSessionFactory.closeSession();
    }
    static void delete()//删除
    {
    //从工具类获取1条记录
    Session s = HibernateSessionFactory.getSession();
    //开启事务
    s.beginTransaction();
    try
    {
    //执行删除
    //删除必须先精确查出来
    Book book=(Book) s.get(Book.class, 11);
    s.delete(book);//删除
    }
    catch (Exception e)
    {
    e.printStackTrace();
    s.getTransaction().rollback();//回滚事务
    }
    //提交事务
    s.getTransaction().commit();
    System.out.println("删除成功!");
    //关闭连接
    HibernateSessionFactory.closeSession();
    }
    static void add()//添加
    {
    Book book = new Book("老黑传",100f,"老黑",100f);
    //从工具类获取1条记录
    Session s = HibernateSessionFactory.getSession();
    //开启事务
    s.beginTransaction();
    try
    {
    //执行插入
    s.save(book);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    s.getTransaction().rollback();//回滚事务
    }
    //提交事务
    s.getTransaction().commit();
    System.out.println("插入成功!");
    //关闭连接
    HibernateSessionFactory.closeSession();
    }
    static void tudo()//不使用工具类的查询
    {
    //加载配置文件
    Configuration config=new Configuration().configure();
    //获取Hibernate的连接工厂
    SessionFactory fac=config.buildSessionFactory();
    //从工厂获取1条连接
    Session s=fac.openSession();
    //执行查询
    String hql="from Book";
    List<Book> list=s.createQuery(hql).list();
    //遍历结果
    for(Book b:list)
    {
    System.out.println(b);
    }
    //关闭连接
    s.close();
    }
    @SuppressWarnings("unchecked")
    static void tudo2()//使用工具类的查询(推荐)
    {
    // 从工具类获取1条连接
    Session s=HibernateSessionFactory.getSession();
    //执行查询
    String hql ="from Book.bname";
    List<Book> list = s.createQuery(hql).list();
    // 遍历结果
    for(Book b:list)
    {
    System.out.println(b);
    }
    //关闭连接
    HibernateSessionFactory.closeSession();
    }
    public static void main(String[] args)
    {
    //tudo();
    tudo2();
    //add();
    //delete();
    //update();
    }

    }

  • 相关阅读:
    dell 服务器服务编码查询方法(Win & linux)
    English Voice of <<Wish You Were Here>>
    V3
    研究2张物理网卡 1台物理服务器 3个光猫 实现的离线下载服务器微架构 (3 光猫)
    注解
    单例模式
    线程同步锁
    线程实现的两种方式
    多线程简介
    Map接口
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6221838.html
Copyright © 2011-2022 走看看