• 热门专题

在MyEclipse中利用Hibernate框架完成数据库的基本操作

作者:新野橙子IT  发布日期:2013-05-18 08:52:01
Tag标签:MyEclipse  Hibernate  数据库  
  •    摘要:本文主要介绍在MyEclipse环境下利用Hibernate框架完成对MySQL数据库的基本操作。


       本文主要分为以下三个部分:
           一、建立项目并添加Hibernate框架;
           二、建立数据表的映射;
           三、对数据库操作语句的编写


    第一部分:
       (1)建立项目:
           建立一个java项目并建立名为hib的包,列表如下:


     
     (2)添加Hibernate框架:右击项目名(hib)选择Myeclipse选项中的Add Hibernate Capbilities;出现如图所示界面: www.it165.net
     

     
    直接选择Next>Next进入下一步:
     

     
     在这里以MySQL数据库为例,在DB Driver选项中选择MySQL,如果是第一次使用先添加数据库,在dialect中选择MySQL数据库,然后添加驱动程序,并填写Connect URL完成后界面如下:
     

     

    选择next,在Java package中选择hib(开始时建立的包) ,点击Finish框架就添加完毕。

    第二部分:

       首先找到连接DB Browser




    双击第一部分添加的数据库:

     
    输入密码点击OK即可建立连接。接下来,找到要使用的表进行映射,我的表的结构如下:
     

     
    右击表名(login)选择Hibernate Reverse Engineering 出现如下界面:
     

     
    Java src folder选择要映射到的类,我们选择hib->hib,如下所示:
     

     
    点击OK,然后next进入下一界面:
     

     
    这里要将Id Generator改为identity,然后就是点击finish。这样就映射完成。
    再看一下项目结构:
     

     

     在Login.java中就可以写关于数据库的操作了。

    第三部分:
       (1)查询语句:
           (i)查询一列数据:


    Query QuerySelect=sess. 
      createQuery("select L.username from Login as L"); 
    java.util.List ListSelect=QuerySelect.list(); 
    for(inti=0;i<ListSelect.size();i++) { 
    String name=(String)ListSelect.get(i); 
      System.out.println(name); 
    }

    (ii)查询多列内容
     方法一:

     

    Query QuerySelect=sess. 
      createQuery("select new Login(L.username,L.password) from Login as L"); 
    java.util.List ListSelect=QuerySelect.list(); 
    for(inti=0;i<ListSelect.size();i++) { 
    Login log=(Login)ListSelect.get(i); 
      System.out.println(log.username+" "+log.password); 
    }

    方法二:

     

    Query QuerySelect=sess. 
      createQuery("select L.username,L.password from Login as L"); 
    java.util.List ListSelect=QuerySelect.list(); 
    for(inti=0;i<ListSelect.size();i++) { 
    Object[] log=(Object[])ListSelect.get(i); 
    for(intj=0;j<2;j++){ 
          System.out.println(obj[j]); 
    } 
    }

    (2)更新语句:  

     

    Query queryupdate=sess. 
    createQuery("update Login as L set L.username='wang' where L.id=1"); 
    intret=queryupdate.executeUpdate(); 
    trans.commit();         //提交事务 
    () 
    )_

    (3)删除操作

     

    Query querydelete=sess. 
        createQuery("delete from Login as  L  where L.id=1"); 
    int ret=querydelete.executeUpdate(); 
    trans.commit();

    总 结:本篇博文虽经过多次更改才最终定稿,但由于水平有限,欢迎批评指正,谢谢。

     

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规