Hibernate-myeclipse-2012-219-2
Hibernate和myeclipse一个简单学生信息管理小程序。
本人运用的开发环境为:Eclipse3.2.1+MyEclipse5.1集成开发环境,数据库为MySQL4.01版本。
下面开始动手吧……
S1:创建数据库,数据库脚本如下:
create database hibernate;
use hibernate;
create table Student
(
id varchar(32) not null primary key,
sName varchar(20) not null,
sNO varchar(20) not null,
sex varchar(2),
email varchar(30)
);
S2:配置MyEclipse环境,使之能够生成HBM文件,即Hibernate映射文件,过程如下:
配置MySQL驱动程序:
MyEclipse Database Explorer
在空白处,右击,选择 New
双击 MySQL Connector/j
出现了我们刚刚创建的数据库student,好了,可以松一口气了,暂时先放一放,后面还会用到这个界面的,在打开Window -> Open Perspective->Java界面。
S3:新建一个J2EE的Web Project ,工程名为StuHibernate
然后给这个项目添加hibernate必要的文件.在我们项目名上点击右键,选择MyEclipes --> Add Hibernate Capabilities...弹出对话框如下图:
其中,JAR Library Installation 选为 Copy checked Library Jars to Project …项,其它项均为默认,点击Next,进入下一个页面后,
继续点击Next,进入第三个页面
选择 DB Profile 文件JDBC for MySQL,就是我们在S2步骤中配置的数据库驱动,在这里,我们就什么也不用手动添写了,直接生成,这就是S2步骤的好处,其中数据库的言也选为MySQL,点击Next进入下一页面
取消对Crate SessionFactory class? 选项的选择,点击Finish。项目结构如下图:
在 src 目录下产生了一个hibernate.cfg.xml 文件:主要是对Hibernate环境配置的,包括使用的数据库或数据源。Eclipse为此提供了图形环境配置,配置方法为在S2步骤中以配置好了,因此直接生成了如下页面:
其中本人数据库密码为空,因此什么都没有写。由于MySQL数据库驱动以经加了WEB-INF/lib文件夹中,上面的图中以有显示。如果没有加入,则复制到里面。一切准备工作都以就绪,下面我们就开始真正的编写代码了!(终于写到一半了,好累啊,呵呵)
S4:编写POJO类,也就是持久化类:只包含setter及getter方法的类。POJO(Plain Old Java Objects)是最普通的Java对象,很像JavaBean。类名最好和
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
名相同,开头最好大写,Student.java类
选择StuHibernate,右击——New—— class
包名:com.cc.hibernate
类名:Student
代码如下:
package com.cc.hibernate;
//POJO类
public class Student {
//写入若干属性
private String id;
private String sname;
private String sno;
private String sex;
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
}
S5:建立映射文件,在次打开Window -> Open Perspective->MyEclipse Database Explorer,步骤
右键点击student表,打开Hibernate Reverse Engineering…
创建到包含有POJO类包的文件夹下:
点击 Next,进入下一页面
Type Mapping: Hibernate types
主键生成方式选为 assigned(指派),由用户自行完成,单击 Next,最后点击 Finish。
在次切回 Window -> Open Perspective->Java界面,出现 Student.hbm.xml映射文件,双击打开查看其代码。
此文件完成Student类到student表的关系
编写具体类,具体操作Hibernate 方法,在Com.cc.hibernate包下
新建类 StudentOperate.java
package com.cc.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
public class StudentOperate {
//在Hibernate中,所有的操作都是通过Session完成
//此Session不同于JSP的Session
private Session session=null;
//在构造方法之中实例化session对象
public StudentOperate(){
// 找到Hibernate配置
Configuration config=new Configuration().configure();
//从配置中取出SessionFactory
SessionFactory factory=config.buildSessionFactory();
//从SessionFactory中取出一个Session
this.session=factory.openSession();
}
//所有操作都是由session进行的
//向数据库中增加数据
public void insert(Student student){
//开始事务
Transaction tran=this.session.beginTransaction();
//执行语句
this.session.save(student);
//提交事务
tran.commit();
}
}
S7:在com.cc.hibernate 包下新建一个测试类 StudentTest.java
代码如下:
package com.cc.hibernate;
public class StudentTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//生成POJO类实例化对象
Student stu=new Student();
stu.setId("006");
stu.setSname("chen");
stu.setSno("03170217");
stu.setSex("男");
stu.setEmail("chenchuang.sy@163.com");
//实例化 StudentOperate 对象
StudentOperate op=new StudentOperate();
op.insert(stu);
}
}
注意:(1) 现在汉字无法添加;(2)添加字符长度不能超过表规格的长度。如将男改成BOY,则超长,无法添加整个记录。
运行后的页面为:
可以通过MySql数据库进行查询,记录是否添加。