• 新秀学习Hibernate——简单的增加、删、更改、检查操作


           部分博客使用Hibernate单的样例,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述怎样利用Hinbernate框架实现简单的数据库操作。

    1、增加junit.jar

    2、新建一个工具类HibernateUtils.Java把一些对session的公共操作封装起来

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class HibernateUtils {
    /*
      *读取Hibernate.cfg.xml文件
    */
    	private static SessionFactory factory;
    	
    	static {
    		try {
    			//读取hibernate.cfg.xml文件
    			Configuration cfg = new Configuration().configure();
    			
    			//建立SessionFactory
    			factory = cfg.buildSessionFactory();
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
    	/*
    	  *打开Session
    	*/
    	
    	public static Session getSession() {
    		return factory.openSession();
    	} 
    	/*
    	  *关闭Session
    	*/
    	
    	public static void closeSession(Session session) {
    		if (session != null) {
    			if (session.isOpen()) {
    				session.close();
    			}
    		}
    	}
    	
    	public static SessionFactory getSessionFactory() {
    		return factory;
    	}
    }
    


    3、新建一个test类继承TestCase(Junit包里面的)然后以下就利用test类对User对象的增、删、改、查。

    import java.util.Date;
    
    import org.hibernate.Session;
    
    import com.bjpowernode.hibernate.HibernateUtils;
    
    import com.bjpowernode.hibernate.User;
    
    import junit.framework.TestCase;
    
    public class test extends TestCase {
    /*
     * 添加User
     */
    	public void testSave() {
    		
    		Session session = null;
    		try {
    			session = HibernateUtils.getSession();
    			session.beginTransaction();
    			
    			User user = new User();
    			user.setName("李四");
    			user.setPassword("123");
    			user.setCreateTime(new Date());
    			user.setExpireTime(new Date());
    			session.save(user);
    			session.getTransaction().commit();
    		}catch(Exception e) {
    			e.printStackTrace();
    			session.getTransaction().rollback();
    		}finally {
    			HibernateUtils.closeSession(session);
    		}
    	}
    	/**
    	 * 删除
    	 */
    	public void testDel(){
    		Session session = null;
    		try {
    			session = HibernateUtils.getSession();
    			session.beginTransaction();
    			
    			User user=(User)session.load(User.class, "4028989545a244640145a24466300001");
    			
    			session.delete(user);
    			session.getTransaction().commit();
    		}catch(Exception e) {
    			e.printStackTrace();
    			session.getTransaction().rollback();
    		}finally {
    			HibernateUtils.closeSession(session);
    		}
    	}
    	
    	/**
    	 * 改动
    	 */
    	public void testUpdate(){
    		Session session = null;
    		try {
    			session = HibernateUtils.getSession();
    			session.beginTransaction();
    			
    			User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
    			user.setName("王五");
    			session.update(user);
    			session.getTransaction().commit();
    		}catch(Exception e) {
    			e.printStackTrace();
    			session.getTransaction().rollback();
    		}finally {
    			HibernateUtils.closeSession(session);
    		}
    	}
    	
    	/**
    	 * 查询
    	 */
    	public void testLoad(){
    		Session session = null;
    		try {
    			session = HibernateUtils.getSession();
    			session.beginTransaction();
    			
    			User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
    			System.out.println(user.getName());
    			System.out.println(user.getId());
    			System.out.println(user.getPassword());
    			System.out.println(user.getClass());
    			System.out.println(user.getCreateTime());
    			System.out.println(user.getExpireTime());
    			session.getTransaction().commit();
    		}catch(Exception e) {
    			e.printStackTrace();
    			session.getTransaction().rollback();
    		}finally {
    			HibernateUtils.closeSession(session);
    		}
    	}
    }
    


    4、效果图





    总结:

          利用Hibernate简单的增、删、改、查操作的应用是一个非常基础的应用刚学Hibernate就应该先从简单学校播放。

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    day-11 python自带库实现2层简单神经网络算法
    day-10 sklearn库实现SVM支持向量算法
    day-9 sklearn库和python自带库实现最近邻KNN算法
    day-8 python自带库实现ID3决策树算法
    day-7 sklearn库实现ID3决策树算法
    day-6 机器学习概念及应用
    day-5 python协程与I/O编程深入浅出
    day-4 python多进程编程知识点汇总
    day-3 python多线程编程知识点汇总
    3、TensorFlow基础(一) 设计思想与编程模型
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4905393.html
Copyright © 2020-2023  润新知