• Hibernate4入门(二)


    Hibernate4入门(二)

     

    ---初始化数据

    复制代码
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class Test {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            
                 QQUser u1=null,u2=null,u3=null,u4=null,u5=null,u6=null;
                try {
                    u1 = new QQUser("74778622", "123123", "小明", "男", sdf.parse("1990-06-07"), 6);
                    u2 = new QQUser("8873734", "123123", "小红", "女", sdf.parse("1991-09-17"), 1);
                    u3 = new QQUser("866628343", "123123", "小白", "女", sdf.parse("1992-01-27"), 2);
                    u4 = new QQUser("97762632", "123123", "小黑", "男", sdf.parse("1988-04-30"), 3);
                    u5 = new QQUser("9776163", "123123", "小灰", "男", sdf.parse("1989-05-22"), 4);
                    u6 = new QQUser("384762663", "123123", "小蓝", "男", sdf.parse("1990-06-06"), 5);
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                ArrayList<QQUser> list_user = new ArrayList<QQUser>();
                 list_user.add(u1);
                 list_user.add(u2);
                 list_user.add(u3);
                 list_user.add(u4);
                 list_user.add(u5);
                 list_user.add(u6);
    
                Configuration cfg = new Configuration();
                // 读取hibernate.cfg.xml中的配置
                cfg.configure();
                // 获取SessionFactory
                SessionFactory sf = cfg.buildSessionFactory();
                // 获取Session
                Session session = sf.openSession();
                // 开启事务
                session.beginTransaction();
                // 保存
                for(int i=0;i<list_user.size();i++){
                        session.save(list_user.get(i));
                }
                // 提交事务
                session.getTransaction().commit();
                // 关闭连接
                session.close();
                sf.close();    
        }
    }
    复制代码

    ---查询

    复制代码
    import java.util.ArrayList;
    import java.util.List;
    
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class Test_Query {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
             Configuration cfg = new Configuration();
                // 读取hibernate.cfg.xml中的配置
                cfg.configure();
                // 获取SessionFactory
                SessionFactory sf = cfg.buildSessionFactory();
                // 获取Session
                Session session = sf.openSession();
                // 开启事务
                session.beginTransaction();
                // 保存
                Query query = session.createQuery("from QQUser x where x.gender=?");
                query.setString(0, "男");
                //query.setString(0, "8873734");
                //query.list()方法执行时,会根据query中的对象查询语句(hql语言)生成一个
                //基于数据库的sql查询语句,对数据库执行查询,并返回一个集合
                List<QQUser> l_u = query.list(); //返回的集合是映射查询过程中从查询表中找到的记录
                for(int i=0;i<l_u.size();i++){
                        QQUser user = l_u.get(i);
                        session.delete(user);
                    //System.out.println(String.format("昵称:%s,性别:%s", user.getNick_name(),user.getGender()));
                }
                
                // 提交事务
                session.getTransaction().commit();
                // 关闭连接
                session.close();
                sf.close();
        }
    
    }
    复制代码

    ---删除数据

    复制代码
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class Test_Delete {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
                Configuration cfg = new Configuration();
                // 读取hibernate.cfg.xml中的配置
                cfg.configure();
                // 获取SessionFactory
                SessionFactory sf = cfg.buildSessionFactory();
                // 获取Session
                Session session = sf.openSession();
                // 开启事务
                session.beginTransaction();
                //根据指定的主键找到记录并返回为对象
                QQUser del_user = (QQUser)session.get(QQUser.class, "8873734");
                // 删除
                session.delete(del_user);
                
                // 提交事务
                session.getTransaction().commit();
                // 关闭连接
                session.close();
                sf.close();
            
        }
    
    }
    复制代码

    ---修改数据

    复制代码
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class Test_Update {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
                Configuration cfg = new Configuration();
                // 读取hibernate.cfg.xml中的配置
                cfg.configure();
                // 获取SessionFactory
                SessionFactory sf = cfg.buildSessionFactory();
                // 获取Session
                Session session = sf.openSession();
                // 开启事务
                session.beginTransaction();
                //根据指定的主键找到记录并返回为对象
                QQUser update_user = (QQUser)session.get(QQUser.class, "9776163");
                update_user.setGender("女");
                // 删除
                session.update(update_user);
                
                // 提交事务
                session.getTransaction().commit();
                // 关闭连接
                session.close();
                sf.close();
            
        }
    
    }
    复制代码
  • 相关阅读:
    svn使用教程
    软件工程课程设计分组与选题名单
    解决自己的提问
    <构建之法>第十三章到十七章有感以及这个项目读后感
    <构建之法>第十一章、十二章有感
    关于C语言打印string类字符串的问题
    单链表
    8、判断三角形ABC中是否有点D
    7、完整版的strcpy函数
    6、旋转数组的最小数字
  • 原文地址:https://www.cnblogs.com/susana/p/6515409.html
Copyright © 2020-2023  润新知