使用myeclipse 建立 hibernate工程
编辑器: myeclipse 6.5
数据库: sqlserver2005
一. 建立数据库
附上建库建表语句
SQL语句
create database hiberTest --先 执行上一句,在执行下边的.否则会找不到数据库 use hiberTest create table student ( id int primary key identity(1,1), [name] varchar(12), address varchar(100) )
二. 在MyEclipse 上附加数据库
打开MyEclipse
在myeclipse的右上角,找到open Perspective,点击,找到MyEclipse Database Explorer,如果没有就点other,找到MyEclipse Database Explorer, 选中,点击OK!
现在左边的导航器 里任意地方点右键,选择New.会弹出一个对话框,
Driver template 选项里 选择 Microsoft SQL Server 2005 ,
Driver name 给这个数据库取一个名字,随便写,(最好与数据库同名,个人意见),现在就写成first吧.
Connection URL 里写入 jdbc:sqlserver://127.0.0.1:1433;databaseName=hiberTest
User name 里写入访问sql2005的用户名,我的是sa
password 里写入user name的密码
driver JARs 右边有一个 ADD JARs,然后选择你的sqlserver jdbc驱动,这里提供下载.
将 Save Password 勾上,方便以后访问,
然后点击Test Driver,测试驱动是否正确,若弹出Database connection successfully established.就表示成功!
然后点击 next,选中 Display the selected schemas. 然后点击右边的Add,这时会弹出sqlserver中所有数据库的列表,选中我们刚建的数据库,hiberTest. 点击OK. 然后finish
这是 导航栏里就出现了 一个名字是 first 的数据库,双击打开连接.
按照这个顺序展开 first->Connected to first -> dbo -> TABLE -> student
student就是我们刚才建的表.
这时,选中 Connected to first 右键,有 NEW SQL Editor ,在这里可以进行sql语句.请自行尝试.
三.创建hibernate工程
1.反射类
添加好数据库以后,点击右上角的 open Perspective 选择 java .找不到在other里找
在导航栏里右键 -> new -> java project 弹出一个对话框.
取个名字,hiTest. 然后 Finish.
选中工程,右键 -> MyEclipse -> Add Hibernate Capabilities... 弹出一个对话框
直接选next -> next ,好,在DB Driver 里 选择first 我们刚才附加的数据库. 然后next.
请看 java package 那一行 点击new ,弹出一个对话框,在 name 栏里填写一个包名,hi1, Finish!
Finish!
这个时侯,在hiTest工程里,有一个hibernate.cfg.xml; hi1包下,会有一个HibernateSessionFactory.java.
好~现在进行最后一步.
在右上角选择MyEclipse Database Explorer 视图.
在导航栏里 选中表student ,右键 -> Hibernate Reverse Engineering 弹出对话框
Java src folder 点击Browse... 展开hiTest ,展开src,选择hi1 点击OK.
保持create POJO<>DB Table mapping information
Java Data Object(POJO <>DB Table)
Java Data Access Object(DAO)(Hibernate 3 only)
这三项为选中状态. Finish.
这时会生成一些接口,超类,子类..现在选中java视图(右上角..- -)
2.修改配置文件
然后打开 Student.hbm.xml
找到 <generator class="assigned" />
将assigned 改为 native 这样在添加的时候就不用指定ID了.
打开hibernate.cfg.xml, 在<mapping>标签前添加一行
<property name="show_sql">true</property>
这样做是为了hibernate执行的时候数据库操作的时候将数据库语句输出到控制台
四.测试
这时已经完成了..第一个hibernate工程 - -#..
开始测试. 选中工程,右键Build path -> Add libraries.. -> JUnit -> Next -> 选择 JUnit 4 ->Finish.
选中hi1包,右键 -> new ->class ->随便起个类名HiTest
package hi1; import java.util.List; import org.hibernate.Session; import org.junit.*; public class HiTest { @Test public void heihei() throws Exception { //拿到session Session session = HibernateSessionFactory.getSession(); //新建一个学生 Student stu = new Student(); //设置名字 stu.setName("多多"); //设置地址 stu.setAddress("大铺"); //保存 session.save(stu); //提交事务,进行数据库操作 session.beginTransaction().commit(); //关闭session session.close(); //声明一个dao对象 StudentDAO stuDao = new StudentDAO(); //进行查询 List<Student> list = stuDao.findAll(); //输出 for (Student student : list) { System.out.println(student.getName()+" "+student.getAddress()); } } }
然后点击运行,或者 在编辑区点击 右键 -> Run As -> JUnit Test ..看控制台...
Student 和 StudentDAO 都是刚才反射时生成的类.. 多做几次.理解结构以后,就可以自己写了.