• hibernate框架学习之增删改查helloworld


    插入数据
    删除数据
    修改数据
    查询单条数据
    查询多条数据

    HelloWorldApp.java

    package cn.itcast.h3.helloworld;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    import cn.itcast.h3.helloworld.vo.UserModel;
    
    public class HelloWordApp {
        public static void main(String[] args) {
    
            //1.加载配置文件hibernate.cfg.xml,得到一个配置对象
            Configuration conf = new Configuration().configure();
            //2.由配置创建一个SessionFactory
            SessionFactory sf = conf.buildSessionFactory();
            //3.由SessionFactory得到Session
            Session s = sf.openSession();
            //4.由Session对象获取事务对象Transaction
            Transaction t = s.beginTransaction();
            //5.完成任务
            //5.1创建一个要存储的对象
            UserModel um = new UserModel();
            um.setUuid("1");
            um.setUserName("李若亮");
            um.setAge(34);
            um.setAddress("传智播客");
            //5.2保存
            s.save(um);
            
            //6.提交事务
            t.commit();
            //7.关闭Session
            s.close();
            //8.关闭SessionFactory(略)
            sf.close();
            
            
        }
    }

    BaseOperApp.java

    package cn.itcast.h3.helloworld;
    
    import java.util.List;
    
    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;
    
    import cn.itcast.h3.helloworld.vo.UserModel;
    
    public class BaseOperApp {
        //测试插入数据
        void testAdd(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            Transaction t = s.beginTransaction();
            
            //1.准备一个要添加的数据
            UserModel um = new UserModel();
            um.setUuid("3");
            um.setUserName("李若亮");
            um.setAge(34);
            um.setAddress("传智播客");
            //2.调用save方法
            
            String res = (String) s.save(um);
            System.out.println(res);
            
            t.commit();
            s.close();
        }
        //测试修改数据
        void testUpdate(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            Transaction t = s.beginTransaction();
            
            //1.准备一个要添加的数据
            UserModel um = new UserModel();
            um.setUuid("3");
            um.setUserName("Jock");
            um.setAge(34);
            um.setAddress("itcast");
            //2.调用update方法
            s.update(um);
            
            t.commit();
            s.close();
        }
        //测试删除数据
        void testDelete(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            Transaction t = s.beginTransaction();
            
            //1.准备一个要添加的数据
            UserModel um = new UserModel();
            um.setUuid("1");
            //2.调用delete方法
            s.delete(um);        //um对象只要有uuid就可以了
            
            t.commit();
            s.close();
        }
        //测试单个数据
        void testQueryOne(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            //1.查询单个数据需要依赖主键进行查询
            //2.get(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
            //3.load(模型类.Class,uuid)方法得到一个对象,这个对象被包装成了Class格式
            UserModel um = (UserModel) s.load(UserModel.class, "3");
            System.out.println(um);
            s.close();
        }
        //测试全部数据
        void testQueryAll(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            //1.获取Query对象
            //创建Query对象时,需要使用Hibernate专用的查询语句HQL
            String hql = "from UserModel";
            Query q = s.createQuery(hql);
            //2.将结果查询出来,使用list方法,得到一个查询的结果集合
            List<UserModel> queryList = q.list();
            for(UserModel um:queryList){
                System.out.println(um);
            }
            s.close();
        }
        //测试全部数据2
        void testQueryAll2(){
            Configuration conf = new Configuration().configure();
            SessionFactory sf = conf.buildSessionFactory();
            Session s = sf.openSession();
            
            //1.使用本地SQL语句查询
            String sql = "select * from tbl_user";
            //2.使用SQL查询,需要使用SQLQuery对象,该对象使用Session获得
            SQLQuery sq = s.createSQLQuery(sql);
            //3.查询结果也可以使用list将结果封装成一个集合
            List<Object[]> queryList = sq.list();
            for(Object[] objs: queryList){
                for(Object obj:objs){
                    System.out.println(obj);
                }
                System.out.println("------------------");
            }
    
            s.close();
        }
        
        public static void main(String[] args) {
            new BaseOperApp().testQueryAll2();
        }
    }
  • 相关阅读:
    JVM 启动参数设置
    Linux文件分割与合并
    设置tomcat使用指定的jdk版本
    java字符编码
    HASH 哈希处理完数据导致数据集第一行数据缺失
    HASH 何时将key加载到h.definedata()中
    字符串 批量全角、半角转换
    SAS_正则表达式 字符意义
    正则表达式基础篇
    sas options有用的全局设置
  • 原文地址:https://www.cnblogs.com/xyhero/p/9348848.html
Copyright © 2020-2023  润新知