使用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 都是刚才反射时生成的类.. 多做几次.理解结构以后,就可以自己写了.