MyEclipse搭建Hibernate

来源:互联网 发布:均线策略 优化 编辑:程序博客网 时间:2024/04/30 01:08
转载请标明出处:http://bbs.51cto.com/thread-1017088-1.html

⑴首先,让MyEclipse连接上数据库,因此第一步就是确保MyEclipse的DB Browser视窗处于显示状态,若没有则Window→Show View→Other→DB Browser。如图所示:
 1.jpg (61.38 KB)

2013-2-23 13:15

1.jpg

 2.jpg (37.19 KB)

2013-2-23 13:15

2.jpg

 3.jpg (10.14 KB)

2013-2-23 13:15

接下来,在DB Browser中New一个数据库连接:

3.jpg

 4.jpg (76.2 KB)

2013-2-23 13:15

在弹出的页面中输入相应文本

4.jpg

 5.jpg (39.23 KB)

2013-2-23 13:15

点击下一步(Next):

5.jpg

 6.jpg (18.4 KB)

2013-2-23 13:15

点击完成(Finish),之后在DB Browser视窗中打开数据库连接:

6.jpg

 7.jpg (79.85 KB)

2013-2-23 13:15

⑵新建一个Java项目

7.jpg

 8.jpg (66.28 KB)

2013-2-23 13:15

在项目上右键→MyEclipse→Add hibernate Capabilities添加Hibernate兼容:

8.jpg

 9.jpg (65.77 KB)

2013-2-23 13:15

直接使用默认配置,点击下一步(Next):

9.jpg

 10.jpg (44.61 KB)

2013-2-23 13:15

继续默认配置,点击下一步(Next):

10.jpg

 11.jpg (75.82 KB)

2013-2-23 13:15

继续默认配置,点击下一步(Next):

11.jpg

 12.jpg (54.2 KB)

2013-2-23 13:15

12.jpg

 13.jpg (65.55 KB)

2013-2-23 13:15

点击完成(Finish),出现以下界面,点击Add,添加2个很有用的属性::

13.jpg

 14.jpg (69.14 KB)

2013-2-23 13:15

同上图,添加format_sql,创建之后(对于初学者来说,最好添加这两个属性,便于理解hql语句): ...

14.jpg

 15.jpg (67.26 KB)

2013-2-23 13:15

⑶生成数据库表与java文件的关联 在DB Browser中同时选中DEPT和EMP表,由于两张表之间有约束,因此不能单独选择 ...

15.jpg

 16.jpg (93.69 KB)

2013-2-23 13:15

依次进行下图配置:

16.jpg

 17.jpg (82.36 KB)

2013-2-23 13:15

17.jpg

 18.jpg (72.36 KB)

2013-2-23 13:15

18.jpg

 19.jpg (114.42 KB)

2013-2-23 13:15

⑷修改配置文件

19.jpg

 20.jpg (86.53 KB)

2013-2-23 13:15

将上图红色区域修改为下图红色区域:

20.jpg


最后附上源代码技术测试类

package com.cn;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


public class Test {

public static SessionFactory sessionFactory=initSessionFactory();//数据存储源  
   public static SessionFactory initSessionFactory()  
   {  
       Configuration config=new Configuration();  
       config.configure();  
       return config.buildSessionFactory();  
   }  
   /** 
    * 将Costmer存入数据库 
    * @param c 
    */  
   public void saveCustomer(Student c)  
   {  
       Session session=sessionFactory.openSession();  
       Transaction tr=null;  
       try  
       {  
           tr=session.beginTransaction();  
           session.save(c);  
           tr.commit();  
       }catch(Exception e)  
       {  
           tr.rollback();  
           e.printStackTrace();  
       }finally  
       {  
           session.close();  
       }  
   }  


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
          Student st=new Student();
          st.setAge(34);
          st.setName("刘大爷");
          st.setSex("男");
          new Test().saveCustomer(st);
}


}


数据库脚本:

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `sex` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


0 0