• 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.如有疑问,可以评论

  • 相关阅读:
    软件仓库配置及编译http2.4及文件系统创建实例
    查找、打包、sed实例
    文件管理工具和基础脚本实例
    文件管理实例
    Linux系统中vim设置tab缩进为4个字符
    linux文件管理类命令及实例讲解
    文件元数据信息介绍及修改文件时间
    Linux发行版的系统目录名称命名规则以及用途
    回调和递归
    关于for循环的小案例
  • 原文地址:https://www.cnblogs.com/ljysy/p/9428216.html
Copyright © 2020-2023  润新知