首页 > 代码库 > 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();
        
    }

}

Hibernate4入门(二)