1、显示DB Browser视图
使用MyEclipse开发Hibernate应用,首先需要在DB Browser视图中进行必要的配置。
单击菜单window→show view→other
2、配置DataBase Driver信息
在DB Browser视图中,单击鼠标右键,从弹出的快捷菜单中选择new,将弹出DataBase Driver对话框
3、在对话框中可以配置DataBase Driver信息,包括连接URL、用户名等
4、在DataBase Driver视图中,将显示名字为test的DataBase Driver。
右键单击test,打开数据库连接,显示数据库结构
5、创建Java工程
Hibernate框架可以用在任何类型的工程中,如Java工程、Java Web工程等。
6、在TestHib工程下创建包com.vo
7、想工程中天剑Hibernate框架的jar包
右键单击工程名,选择MyEclipse菜单,添加Hibernate包
8、在弹出的对话框中逐步配置相关信息
9、选择新创建或者引入已存在的属性文件
10、选择数据库连接信息
11、创建辅助类HibernateSessionFactory
12、想hibernate.cfg.xml文件增加属性
上述步骤结束后,将默认自动打开hibernate.cfg.xml的可视化页面,可以再该页面中继续添加其他属性,如show_sql属性,该属性值为true是,可以在控制台输出Hibernate框架生成的SQL语句
类似地,也可以添加连接池中最多连接数属性等
13、查看hibernate.cfg.xml文件
<hibernate-configuration>
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/mldn
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">test</property>
<property name="connection.password">password</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="show_sql">true</property>
<property name="connection.pool_size">20</property>
</session-factory>
</hibernate-configuration>
14、使用Hibernate逆向工程
通过上面步骤,目前工程中已经引入了Hibernate核心jar包,已经生成了hibernate.cfg.xml文件,接下来就需要为表customer创建对应的持久化类,并生成Customer.hbm.xml映射文件。MyEclipse中提供了Hibernate逆向工程选项,可以根据关系表,生成与其对应的持久化类以及Hibernate映射文件。
在DB Browser视图中,右键单击表名,选择Hibernate Reverse Engineering
在弹出的对话框中,选择需要生成的文件,包括持久化类以及hbm.xml文件
单击“Next” 按钮,在弹出的的对话框中选择ID的生成方式,assigned表示ID通过代码赋值方式生成
15、生成的文件
16、测试
①插入操作
public void tianjia(){
Customer cust = new Customer("BeiBei","mimi",22,"LiaoNing");
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
session.save(cust);
tran.commit();
session.close();
}
②根据主键查询操作
public void chaxun(){
Session session=HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
Customer c = (Customer)session.get(Customer.class, "BeiBei");
System.out.println("主键为BeiBei的记录详细信息:"+c.getCustname()+" "+c.getPwd()+" "+c.getAge()+" "+c.getAddress());
tran.commit();
session.close();
}
③修改操作
public void xiugai(){
Session session=HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
session.update(new Customer("BeiBei","abc",21,"TianJin"));
Customer c = (Customer)session.get(Customer.class, "BeiBei");
System.out.println("主键为BeiBei的记录详细信息:"+c.getCustname()+" "+c.getPwd()+" "+c.getAge()+" "+c.getAddress());
tran.commit();
session.close();
}
④删除操作
public void shanchu(){
Session session=HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
Customer c = (Customer)session.get(Customer.class, "BeiBei");
session.delete(c);
tran.commit();
session.close();
}