`
miss_安
  • 浏览: 19400 次
文章分类
社区版块
存档分类
最新评论

hibernate4教程

阅读更多
一、导入相应的包

1、hibernate安装文件夹中的lib->required中的包

2、导入log4j

3、导入数据库驱动

二、创建hibernate的配置文件

在src的目录下创建相应的hibernate.cfg.xml在这个文件中加入相应的数据库基本信息的配置

在hibernate.cfg.xml的配置文件中首先需要配置相应的数据库基本连接

  

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<!-- hibernate的方言,用来确定连接的数据库 -->

<propertyname="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</property>

<!-- 数据库的连接类 -->

<propertyname="hibernate.connection.driver_class">

com.mysql.jdbc.Driver

</property>

<!-- 数据库的连接字符串和用户名密码 -->

<propertyname="hibernate.connection.url">

jdbc:mysql://localhost:3306/itat_hibernate

</property>

<propertyname="hibernate.connection.username">

root

</property>

<propertyname="hibernate.connection.password">

123456

</property>

<!-- 在使用hibernate时会显示相应的SQL -->

<propertyname="show_sql">true</property>

<!-- 会自动完成类到数据表的转换 -->

<propertyname="hibernate.hbm2ddl.auto">update</property>

</session-factory>

</hibernate-configuration>

  

三、创建实体类

  

packageorg.zttc.itat.model;

importjava.util.Date;

publicclassUser {

privateintid;

privateString username;

privateString password;

privateString nickname;

privateDate born;

//set get方法省略

}

  

四、在实体类的包中创建相应的hbm文件,用来指定实体类和数据库映射关系

User.hbm.xml

<?xmlversion="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mappingpackage="org.zttc.itat.model">

<classname="User"table="t_user">

<idname="id">

<generatorclass="native"/>

</id>

<propertyname="username"/>

<propertyname="password"/>

<propertyname="nickname"/>

<propertyname="born"type="timestamp"/>

</class>

</hibernate-mapping>

  

五、将配置文件添加到hibernate的cfg的配置文件中

<!-- 加入实体类的映射文件 -->

<mappingresource="org/zttc/itat/model/User.hbm.xml"/>

  

六、创建SessionFactory,SessionFactory是线程安全,所以整个SessionFactory应该基于单例的模式来创建

Configuration cfg = newConfiguration().configure();

//在hibernate3中都是使用该种方法创建,但是在4中被禁用了

//cfg.buildSessionFactory();

ServiceRegistry serviceRegistry = newServiceRegistryBuilder()

.applySettings(cfg.getProperties()).buildServiceRegistry();

SessionFactory factory = cfg.buildSessionFactory(serviceRegistry);

  

七、创建session

Session session = factory.openSession();

八、通过session来进行各种操作

六、七、八的完整代码如下:

@Test

publicvoidtest01() {

Configuration cfg = newConfiguration().configure();

//在hibernate3中都是使用该种方法创建,但是在4中被禁用了

//cfg.buildSessionFactory();

ServiceRegistry serviceRegistry = newServiceRegistryBuilder()

.applySettings(cfg.getProperties()).buildServiceRegistry();

SessionFactory factory = cfg.buildSessionFactory(serviceRegistry);

Session session = null;

try{

session = factory.openSession();

//开启事务

session.beginTransaction();

User u = newUser();

u.setNickname("张三");

u.setPassword("123");

u.setUsername("zhangsan");

u.setBorn(newDate());

session.save(u);

//提交事务

session.getTransaction().commit();

} catch(HibernateException e) {

e.printStackTrace();

if(session!=null)

session.getTransaction().rollback();

} finally{

if(session!=null) session.close();

}

}

   在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请搜索疯狂Java;
参考huiyi8素材http://www.huiyi8.com/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics