Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1119507
  • 博文数量: 284
  • 博客积分: 8223
  • 博客等级: 中将
  • 技术积分: 3188
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-01 13:26
文章分类

全部博文(284)

文章存档

2012年(18)

2011年(33)

2010年(83)

2009年(147)

2008年(3)

分类: Java

2011-01-24 16:21:00

1.  首先配置hibernate,下载最新的库:

2.  eclipse中配置相应的库,在一个目录下,新建hibernate目录,在该目录下新建lib子目录。将之前下载的几个文件解压,找到其中的lib文件夹,然后将里面的内容全部拷贝到hibernate/lib下。

3.  设置用户库:

窗口->首选项-java-构建路径-用户库,点击新建后,新建下图中的hibernate用户库。

点击边上的add按钮,将刚才放到hibernate/lib下的库都加载进来。

4.  创建一个新工程test;

5.  配置middelGen生成pojo

首先需要下载middlegenide_1.3.3.zip,可以到http:// sourceforge.net/ projects/ middlegen/ files/ 网站上下载。

安装插件之后重启Eclipse。如果新开启的eclipse没有变化,用“- clean”参数再重启一下,或者去删除configuration文件夹下面对应的文件。

假设数据库都已创建好,在建立的Java工程上单击右键选择NEW—Other

然后会弹出Middelgen Biuld File的选项。因为MiddleGen是一个使用Ant编译文件来调出IDE的包,所以这个插件实际上就是方便我们用完型填空的方式来编写这个Biuld File而已。

 

点击后出现下面的界面,对应的内容一目了然,按照自己的需要填写即可。填好所有的东西就点击Next进入MiddleGen界面,几乎不用改任何东西直接点击Generate就能得到配置文件和POJO类了。点击Generate 按钮就可以生成POJO中相关的文件了

6.  配置test项目:

在项目首选项中,增加hibernate用户自定义库

7.  编程:

main中编写如下代码

 

  1. try{

  2.            SessionFactory sf = new Configuration().configure().buildSessionFactory();

  3.            Session session = sf.openSession();

  4.            Transaction tx = session.beginTransaction();

  5.            

  6.        

  7.            User a = new User();

  8.               /*

  9.            a.setUsername("cai");

  10.            a.setPassword("cai");

  11.            session.save(a);

  12.            tx.commit();

  13.            */

  14.            Criteria criteria=session.createCriteria(User.class);

  15.             List list=criteria.list();

  16.             for(int i=0;i<list.size();i++){

  17.               a = (User)list.get(i);

  18.               System.out.println("username="+a.getUsername()+" passwd="+a.getPassword());

  19.             }

  20.             session.close();

  21.        }catch(Exception e){

  22.            e.printStackTrace();

  23.         }

 

测试,则大功告成。

 

8.  附录:

hibernate数据查询方式:有HQL方式,QBC方式,原生SQL方式。HQL适合静态查询,QBC则适合较多的动态查询。

  AHQL方式,支持条件查询,连接查询,分页查询,分组查询,内置函数和自定义函数查询(SUN(),MIN(),MAX()),子查询,动态绑定参数查。

HQL语句定义如下:

             String hql="from book";

             Query query=session.createQuery(hql);

   B:QBC方式,也就是QBC检索方式。QBC通过Session类创建Criteria实例,通过不同方法进行检索,实际上Criteria是用来装载查询条件的容器。QBC有很多条件函数,如:Resstictions.eq(),Resstictions.gt(),Resstictions.ge(),

Resstictions.le(),Resstictions.and(),Resstictions.or()等。

Criteria容器使用方法如下:

             Criteria criteria=session.createCriteria(book.class);

             criteria.add(Restrications.It("id",new Integer(4)));

             List list=criteria.list();

   C:原生SQL方式。不管是HQL还是QBC最终都要通过Hibernate来解析,把他们转换成SQL语句进行对数据库的操作。因为我们知道SQL可以在多平台之间使用。

使用原生SQL方式如下:

        String sql="select {b.*} from book b"

        SQLQuery squery=session.createSQLQuery(sql);

        squery.addEntity("b",book.class);

        List list=squery.list();

 

阅读(1955) | 评论(0) | 转发(0) |
0

上一篇:ubuntu

下一篇:2010年

给主人留下些什么吧!~~