1.Hibernate 的增删改查

//可以抽取出一个openSession的工具类简化代码,但是自己练练手就多写了几遍

public class HibernateTest1 {

// 保存一个Customer

@Test

public static void saveCustomerTest() {

// 创建一个Customer

Customer c = new Customer();

c.setName("张三");

c.setAddress("北京");

c.setSex("男");

// 使用hibernate的api来完成将customer信息保存到mysql中操作

Configuration config = new Configuration().configure(); // 加载hibernate.cfg.xml

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.openSession(); // 相当于得到一个Connection。

// 开启事务

Transaction transaction = session.beginTransaction();

// 操作

session.save(c);

// 事务提交

transaction.commit();

session.close();

sessionFactory.close();

}

// 根据id查询一个Customer对象

@Test

public static void findCustomerByIdTest() {

Configuration config = new Configuration().configure();

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.openSession(); // 相当于得到一个Connection。

// 开启事务

session.beginTransaction();

// 根据业务来编写代码

// Customer c = session.get(Customer.class, 1);

Customer c = session.load(Customer.class, 1);

System.out.println(c.getName());

// 事务提交

session.getTransaction().commit();

session.close();

sessionFactory.close();

}


// 修改操作

@Test

public static void updateCustomerTest() {

Configuration config = new Configuration().configure();

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.openSession(); // 相当于得到一个Connection。

// 开启事务

session.beginTransaction();

// 根据业务来编写代码

Customer c = session.get(Customer.class, 1);

c.setName("李四");

session.update(c); // 修改操作

// 事务提交

session.getTransaction().commit();

session.close();

sessionFactory.close();

}


// 删除操作-----根据id进行删除

@Test

public static void deleteCustomerTest() {

Configuration config = new Configuration().configure();

SessionFactory sessionFactory = config.buildSessionFactory();

Session session = sessionFactory.openSession(); // 相当于得到一个Connection。

// 开启事务

session.beginTransaction();

// 根据业务来编写代码

Customer c = session.get(Customer.class, 1);

session.delete(c); // 删除操作

// 事务提交

session.getTransaction().commit();

session.close();

sessionFactory.close();

}


// 查询所有Customer@Testpublic static void findAllCustomerTest() {Configuration config = new Configuration().configure();SessionFactory sessionFactory = config.buildSessionFactory();Session session = sessionFactory.openSession(); // 相当于得到一个Connection。// 开启事务session.beginTransaction();// 根据业务来编写代码Query query = session.createQuery("from Customer"); // HQL 它是类似于sqlList list = query.list();

System.err.println(list);

// 事务提交

session.getTransaction().commit();

session.close();

sessionFactory.close();

}

public static void main(String[] args) {

//saveCustomerTest();

findAllCustomerTest();

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文包括: 1、CRM 项目的整体介绍 2、Hibernate 框架概述 3、Hibernate 快速入门 4、H...
    廖少少阅读 3,485评论 9 66
  • hibernate(20170731) 1.导包:hibernate-distribution-3.5.6-Fin...
    潇湘雨smile阅读 561评论 0 0
  • 本文包括:1、Hibernate的持久化类2、Hibernate 持久化对象的三个状态(难点)3、Hibernat...
    廖少少阅读 1,495评论 0 13
  • 对象的状态 Hibernate中对象的状态 : 临时/瞬时状态、持久化状态、游离状态临时状态特点:直接new出来的...
    奋斗的老王阅读 944评论 0 49
  • 你说在一起的那刻,我的脸突然的红了,即使隔着屏幕,还是会发烫,有点害羞,还不自觉的傻笑,作为女生,当然会有故作矜持...
    幸若花开阅读 241评论 0 1