Hibernate---helloworld入门程序

Hibernate-----helloworld入门程序

1、什么是Hibernate?

      Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

2、为什么要用Hibernate?
1). 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2). Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
3). hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4). hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。


Hibernate入门程序如下:

1、打开MyEclipse,点击上面的菜单Window--->show view--->Other--->DB Browser,进入DB Browser

2、右键--->New-->填写相应的信息(此处的驱动包使用的是mysql-connector-java-5.1.7-bin.jar包)

可以点击Test Driver,进行测试,测试数据库连接驱动是否成功


3、点击下一步,去掉第三个选项前面的勾


4、点击下一步,选择刚刚新建的数据库连接驱动com.mysql.jdbc.Driver,然后下面的信息会自动填充如下:


5、点击finish,然后回到DB Browser界面,双击打开新建的数据库驱动com.mysql.jdbc.Driver


一般在Navicat数据库中默认存在一个test数据库,打开test数据库,我们可以新建一个表t_user,添加两个字段

(id和username)



6、新建一个Java程序,hibernate-helloworld,添加Hibernate支持,此处选择3.3版本,完成之后就会在src目录下自动生成一个hibernate.cfg.xml配置文件

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
	<session-factory>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="connection.url">
			jdbc:mysql://localhost:3306/test
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<property name="myeclipse.connection.profile">
			com.mysql.jdbc.Driver
		</property>
		<mapping resource="com/etc/dao/TUser.hbm.xml" />
	</session-factory>
</hibernate-configuration>
7、进入DB Browser界面,点击刚刚新建的表t_user,右键选择Hibernate Reverser Engineering(Hibernate反向生成,从表自动生成代码,对应的java类和配置文件),选择相应的信息

(勾选前面两个勾,去掉第二个勾的Create abstract class前面的勾)


点击下一步:选择id生成器为native


8、点击finish,完成自动生成,最终实现的效果是,在src下自动新建一个com.etc.dao包,在包下自动新建一个类TUser.java,还有一个映射文件TUser.hbm.xml,程序总体的结构图如下:


9、TUser.hbm.xml映射文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.etc.dao.TUser" table="t_user" catalog="test">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native" />
        </id>
        <property name="useranme" type="java.lang.String">
            <column name="useranme" />
        </property>
    </class>
</hibernate-mapping>
到这里,heibernate程序已经新建完成

10、在这个工程下新建一个source folder,名称为test,在test文件夹下新建com.etc.dao包,在包下新建TUserDAOTest.java类,进行测试(往数据库中新增一个用户)

package com.etc.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class TUserDAOTest {
	@Test
	public void test1(){
		//1、得到数据库映射,创建一个SessionFacotry工厂
		SessionFactory factory = new Configuration().configure().buildSessionFactory();
		//2、打开数据库连接,获取session
		Session session = factory.openSession();
		//3、开启事务
		session.beginTransaction();
		//4、保存用户(做数据库相关的操作)
		TUser tuser = new TUser("zoey");
		session.save(tuser);
		//5.提交事务
		session.getTransaction().commit();
	}
}
11、在TUserDAOTest.java中,选择test1()方法,右键,RunAs,选择JUnitTest,显示绿色表示成功



12、进入DB Browser界面,找到t_user表,右键点击Edit Data,可以看到数据已经保存到数据库中,也可以直接在navicat中查看t_user表。(往数据库中新增用户完成)




注意:

1、Hibernate程序只是一个简单的Java工程,所以新建时,我们只需要新建一个Java工程便可,不需要新建Web工程

2、Hibernate实现的是数据的增删查改操作,也就是操作数据库的。

3、MyEclipse提供的Hibernate支持,然后使用Hibernate反向生成。会自动生成数据库中表对应的类和映射文件。

4、使用了Hibernate之后,简单的sql语句,我们不需要再进行编写,直接调用自动生成的方法即可。

5、此处借用一下别人的笔记如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值