一.添加方法
1.代码块
/**
* 保存方法
*/
public void testSave(){
//创建用户对象【不重要】
Customer c = new Customer();
c.setCustName("测试对象");
c.setCustAddress("测试练习");
c.setCustLevel("保存对象测试");
//1.获取执行sql语句的session对象
Session session = new HibernateUtil().openSession();//从工具类获取
//2.开启事务
Transaction transaction = session.beginTransaction();
//3.执行保存方法
session.save(c);
//4.提交事务
transaction.commit();
//5.关闭资源
session.close();
}
2.范例
二.修改方法
1.代码块
/**
* 修改方法
*/
public void testUpdate(){
//1.获取执行sql语句的session对象
Session session = new HibernateUtil().openSession();//从工具类获取
//2.开启事务
Transaction transaction = session.beginTransaction();
//3.查询指定id的数据库信息,封装为一个对象
Customer customer = session.get(Customer.class, 2);
//4.修改指定的属性,并存入对象中
customer.setCustLevel("填写修改后的属性值");
//5.执行修改方法,参数为映射对象
session.update(customer);
//6.提交事务
transaction.commit();
//7.关闭资源
session.close();
}
2.范例
三.删除方法
1.代码块
/**
* 删除方法
*/
public void testDelete(){
//1.获取执行sql语句的session对象
Session session = new HibernateUtil().openSession();//从工具类获取
//2.开启事务
Transaction transaction = session.beginTransaction();
//3.查询指定id的数据库信息,封装为一个对象
Customer customer = session.get(Customer.class, 2);
//4.执行删除方法,参数为映射对象
session.delete(customer);
//5.提交事务
transaction.commit();
//6.关闭资源
session.close();
}
2.范例
四.查询一个方法
1.代码块
/**
* 根据id进行查询
*/
public void testFindById(){
//1.获取执行sql语句的session对象
Session session = new HibernateUtil().openSession();//从工具类获取
//2.开启事务
Transaction transaction = session.beginTransaction();
//3.执行查询方法,参数一为返回值对象的字节码文件,参数二为id值
Customer customer = session.get(Customer.class, 1);
System.out.println("查询的结果:" + customer);
//4.提交事务
transaction.commit();
//5.关闭资源
session.close();
}
2.范例
五.查询所有方法
1.代码块
/**
* 查询所有方法
* 注意:查询所有需要获取Query对象
*/
public void testFindAll(){
//1.获取执行sql语句的session对象
Session session = new HibernateUtil().openSession();//从工具类获取
//2.开启事务
Transaction transaction = session.beginTransaction();
//3.创建一个SQLQuery对象
SQLQuery query = session.createSQLQuery("select * from cst_customer");
//4.执行query对象,返回值泛型为object数组
List<Object[]> list = query.list();
//5.遍历集合,obj是object的数组
for (Object[] objs:list){
System.out.println("------遍历数组中的内容-------");
for (Object o:objs) {
if(o != null) {
System.out.println(o);
}
}
}
//6.提交事务
transaction.commit();
//7.关闭资源
session.close();
}
2.范例
六.关于事务方法
1.代码块
/**
* 关于事务逻辑的写法:事务回滚、事务提交
*/
public void testRollback(){
//创建用户对象【不重要】
Customer c = new Customer();
c.setCustName("测试对象");
c.setCustAddress("测试练习");
c.setCustLevel("保存对象测试");
Session session =null;
Transaction transaction = null;
try{
session = new HibernateUtil().openSession();//从工具类获取
transaction = session.beginTransaction();
session.save(c);
//1.执行成功,提交事务
transaction.commit();
}catch (Exception e){
//2.出现异常,事务回滚
transaction.rollback();
e.printStackTrace();
}finally {
//3.关闭资源
session.close();
}
}
2.范例
七.源码
hibernate.rar