【基于Maven的Hibernate增删改查】

本文通过一个简单的例子展示了如何使用 Hibernate 框架实现基本的增删改查操作,并附带了完整的源代码及 SQL 输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Hibernate增删改查源码如下:

package cn.com.test.hibernatedemo;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import cn.com.vo.hibernatedemo.UserVO;

/**
 * Hello world!
 * 
 */
public class App {
	public static void main(String[] args) {
		System.out.println("Hello World!");
		UserVO vo = new UserVO(1, "gaojignosng", "11", 30);
		
		 saveUser(vo);
		
		 getUser(1);
		 
		 loadUser(1);
		
		 vo.setName("xxxxxxxxx");
		 updateUser(vo);
			
		 deleteUser(vo);
	}
	
	public static void saveUser(UserVO vo ){
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction beginTransaction = session.beginTransaction();
		try {
			session.save(vo);
			beginTransaction.commit();
			System.out.println("------saveUser------"+vo);
		} catch (HibernateException e) {
			beginTransaction.rollback();
			e.printStackTrace();
		}
		session.close();
	}
	
	public static void getUser(int id){
		Session session = HibernateUtil.getSessionFactory().openSession();
		try {
			UserVO vo = (UserVO) session.get(UserVO.class, id);
			System.out.println("------getUser------"+vo);
		} catch (HibernateException e) {
			 
			e.printStackTrace();
		}
		session.close();
	}
	
	
	public static void loadUser(int id){
		Session session = HibernateUtil.getSessionFactory().openSession();
		try {
			UserVO vo = (UserVO) session.load(UserVO.class, id);
			System.out.println("------loadUser------"+vo);
		} catch (HibernateException e) {
			e.printStackTrace();
		}
		session.close();
	}
	
	public static void updateUser(UserVO vo){
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction transaction = session.beginTransaction();
		try {
		  session.update(vo);
		  transaction.commit();
		  System.out.println("------updateUser------"+vo);
		} catch (HibernateException e) {
			transaction.rollback();
			e.printStackTrace();
		}
		session.close();
	}
	
	public static void deleteUser(UserVO vo){
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction transaction = session.beginTransaction();
		try {
		  session.delete(vo);
		  transaction.commit();
		  System.out.println("------deleteUser------"+vo);
		} catch (HibernateException e) {
			transaction.rollback();
			e.printStackTrace();
		}
		session.close();
	}
}


 

2、SQL语句输出如下:

 

 

 

Hello World!
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hibernate: 
    insert 
    into
        t_user
        (name, pwd, age) 
    values
        (?, ?, ?)
------saveUser------UserVO [id=2, name=gaojignosng, pwd=11, age=30]
Hibernate: 
    select
        uservo0_.id as id0_0_,
        uservo0_.name as name0_0_,
        uservo0_.pwd as pwd0_0_,
        uservo0_.age as age0_0_ 
    from
        t_user uservo0_ 
    where
        uservo0_.id=?
------getUser------UserVO [id=1, name=gaojignosng, pwd=11, age=30]
Hibernate: 
    select
        uservo0_.id as id0_0_,
        uservo0_.name as name0_0_,
        uservo0_.pwd as pwd0_0_,
        uservo0_.age as age0_0_ 
    from
        t_user uservo0_ 
    where
        uservo0_.id=?
------loadUser------UserVO [id=1, name=gaojignosng, pwd=11, age=30]
Hibernate: 
    update
        t_user 
    set
        name=?,
        pwd=?,
        age=? 
    where
        id=?
------updateUser------UserVO [id=2, name=xxxxxxxxx, pwd=11, age=30]
Hibernate: 
    delete 
    from
        t_user 
    where
        id=?
------deleteUser------UserVO [id=2, name=xxxxxxxxx, pwd=11, age=30]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值