zoukankan      html  css  js  c++  java
  • Hibernate的增删改查

    本片博客是基于前边的另一篇博客写的,实体类是User,有三个属性,具体网址是:

    本篇博客主要是写hibernate的增删改查,hibernate的增删改比较简单,但是查比较麻烦,这里只介绍几种比较简单的方法

    package cn.heima_hello;
    
    
    
    import java.util.List;
    
    import org.hibernate.Criteria;
    import org.hibernate.Query;
    import org.hibernate.SQLQuery;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    
    public class test01 {
    
        
        public void fun1() {
        //1.读取配置文件
            Configuration conf = new Configuration().configure();
        //2.根据数据创建factory对象
            SessionFactory sessionFactory = conf.buildSessionFactory();
        //3.获取操作数据库的session对象
            Session session = sessionFactory.openSession();
        //4.操作数据库
            User user = new User();
            user.setUsername("Tom");
            user.setPassword("1234");
            session.save(user);
        //5.关闭资源
            session.close();
            sessionFactory.close();
        }
        
        //对数据库进行修改
        public void fun2() {
            //1.读取配置文件
                    Configuration conf = new Configuration().configure();
                //2.根据数据创建factory对象
                    SessionFactory sessionFactory = conf.buildSessionFactory();
                //3.获取操作数据库的session对象
                    Session session = sessionFactory.openSession();
                    Transaction ts = session.beginTransaction();
                //4.操作数据库
                User user = (User) session.get(User.class, 2);
                //在查询结果上进行修改
               user.setUsername("汤姆");
               session.update(user);
               ts.commit();
        }
        
        //删除对象
        public void fun3() {
            //1.读取配置文件
                    Configuration conf = new Configuration().configure();
                //2.根据数据创建factory对象
                    SessionFactory sessionFactory = conf.buildSessionFactory();
                //3.获取操作数据库的session对象
                    Session session = sessionFactory.openSession();
                    
                    Transaction ts = session.beginTransaction();
                    
                    //-----------------------------------------------------------
                    //4.操作数据库
                    User user = new User();
                    
                    user.setId(3);
                    //在查询结果上进行修改
                   session.delete(user);
                    //-----------------------------------------------------------
                   ts.commit();
        }
        
        
        //查询语句,调用get方法查询
        public void fun4() {
            //1.读取配置文件
            Configuration conf = new Configuration().configure();
        //2.根据数据创建factory对象
            SessionFactory sessionFactory = conf.buildSessionFactory();
        //3.获取操作数据库的session对象
            Session session = sessionFactory.openSession();
            
            Transaction ts = session.beginTransaction();
            
            //-----------------------------------------------------------
            //4.操作数据库
            User user = new User();
            
            user.setId(3);
            //在查询结果上进行修改
           session.delete(user);
            //-----------------------------------------------------------
           ts.commit();
        }
        
        
        //查询,load方法
        public void fun5() {
            //1.读取配置文件
            Configuration conf = new Configuration().configure();
        //2.根据数据创建factory对象
            SessionFactory sessionFactory = conf.buildSessionFactory();
        //3.获取操作数据库的session对象
            Session session = sessionFactory.openSession();
            
            Transaction ts = session.beginTransaction();
            
            //-----------------------------------------------------------
            //4.操作数据库
            User user = new User();
            
            user.setId(3);
            //在查询结果上进行修改
           session.delete(user);
            //-----------------------------------------------------------
           ts.commit();
        }
        
        
        //查询所有的对象
        public void fun6() {
            //1.读取配置文件
            Configuration conf = new Configuration().configure();
        //2.根据数据创建factory对象
            SessionFactory sessionFactory = conf.buildSessionFactory();
        //3.获取操作数据库的session对象
            Session session = sessionFactory.openSession();
            
            Transaction ts = session.beginTransaction();
            
            //-----------------------------------------------------------
            //4.操作数据库
           Query query = session.createQuery("from User");
            
            List<User> list = query.list();
            //在查询结果上进行修改
           System.out.println(list.get(3).getUsername());
            //-----------------------------------------------------------
           ts.commit();
        }
        
        
        //查询所有的对象
            public void fun7() {
                //1.读取配置文件
                Configuration conf = new Configuration().configure();
            //2.根据数据创建factory对象
                SessionFactory sessionFactory = conf.buildSessionFactory();
            //3.获取操作数据库的session对象
                Session session = sessionFactory.openSession();
                
                Transaction ts = session.beginTransaction();
                
                //-----------------------------------------------------------
                //4.操作数据库
               Criteria criteria = session.createCriteria(User.class);
                
                List<User> list = criteria.list();
                //在查询结果上进行修改
               System.out.println(list.get(3).getUsername());
                //-----------------------------------------------------------
               ts.commit();
            }
        
            //查询所有对象
            //查询所有的对象
            //支持原生的sql语句
                    public void fun8() {
                        //1.读取配置文件
                        Configuration conf = new Configuration().configure();
                    //2.根据数据创建factory对象
                        SessionFactory sessionFactory = conf.buildSessionFactory();
                    //3.获取操作数据库的session对象
                        Session session = sessionFactory.openSession();
                        
                        Transaction ts = session.beginTransaction();
                        
                        //-----------------------------------------------------------
                        //4.操作数据库
                      SQLQuery query = session.createSQLQuery("select * from t_user");
                      query.addEntity(User.class);
                      List<User> list = query.list();
                      
                        //在查询结果上进行修改
                       System.out.println(list.get(3).getUsername());
                        //-----------------------------------------------------------
                       ts.commit();
                    }
        //get方法,一旦被调用,立刻发送sql语句查询
        //load方法,调用时并没有查询sql语句,只有当该对象被调用时才会进行查询数据
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            test01 test01 = new test01();
             test01.fun7();
        }
    
    }

    注:1.本篇博客是基于上一篇的博客,所以这里没有写映射还有连接数据库

           2.测试类中调用那个方法,就是使用的那种方法,读者可以一一作测试

           3.如有疑问,可以评论

  • 相关阅读:
    (转)CMD指令大全
    [转]测试人员要像医生一样把要测试的程序当自己的病人一样看待一样检测!
    robotFramework学习笔记
    mysql数据库转换成数据字典的方法(整理)
    【转】PHP SQL防注入的一些经验
    性能测试基础知识(概念)
    iOS--MJRefresh的使用 上拉刷新和下拉加载
    IOS----UIScrollerView的使用
    iOS -- UILabel的高度自适应
    第二章 图像形成
  • 原文地址:https://www.cnblogs.com/ljysy/p/9428216.html
Copyright © 2011-2022 走看看