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

Hibernate第一节:第一个Hibernate项目

阅读更多

第一个Hibernate项目

1、创建java项目

HibernateFirst

2、创建User Library,加入依赖包

* HIBERNATE_HOME/lib/*.jar

* HIBERNATE_HOME/hibernate3.jar

* 加入数据库驱动(Oracle驱动)

3、提供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.Oracle9Dialect</property>

<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>

<property name="connection.username">admin</property>

<property name="connection.password">admin</property>

<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

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

<mapping resource="org/xiaolong/entity/UserInfo.hbm.xml"/>

</session-factory>

</hibernate-configuration>

4、建立实体类User.java

package org.xiaolong.entity;

import java.util.Date;

public class UserInfo {

private Integer userid;

private String username;

private String password;

private Date birthday;

public Integer getUserid() {

return userid;

}

public void setUserid(Integer userid) {

this.userid = userid;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

}

5、提供User.hbm.xml文件,完成实体类的映射

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

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

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

<hibernate-mapping package="org.xiaolong.entity">

<class name="UserInfo" table="userinfo" schema="ADMIN">

<id name="userid" column="id" type="int">

<generator class="native"></generator>

</id>

<property name="username" insert="true" length="50" type="string"></property>

<property name="password" not-null="true"></property>

<property name="birthday" type="date"></property>

</class>

</hibernate-mapping>

6、将User.hbm.xml文件加入到hibernate.cfg.xml文件中

<mapping resource="org/xiaolong/entity/UserInfo.hbm.xml"/>

7、编写工具类ExoprtDB.java,hbm生成ddl,也就是hbm2ddl

package org.xiaolong.util;

import org.hibernate.cfg.Configuration;

import org.hibernate.tool.hbm2ddl.SchemaExport;

/**

* 将hbm生成ddl

* @author xiaolong

*

*/

public class ExportDB {

public static void main(String[] args) {

//默认读取hibernate.cfg.xml文件

Configuration cfg = new Configuration().configure();

SchemaExport export = new SchemaExport(cfg);

//param1 print the DDL to the console

//param2 export the script to the database

export.create(true, true);

}

}

下面我们来执行该工具类ExportDB,手动创建UserInfo,执行后控制台打印结果:

再去数据库中查看,会发现表已成功创建:

这里我们也可以使用Hibernate自带的功能区生成数据库表,只需在hibernate.cfg.xml文件中配置如下信息即可:

<property name="hbm2ddl.auto">update</property>

8、创建测试类UserDAOTest,添加用户数据到oracle

package org.xiaolong.test;

import java.util.Date;

public class UserDAOTest {

@Test

public void addUser() {

// 读取hibernate.cfg.xml文件

Configuration cfg = new Configuration().configure();

// 建立SessionFactory

SessionFactory factory = cfg.buildSessionFactory();

// 取得session

Session session = null;

try {

session = factory.openSession();

// 开启事务

session.beginTransaction();

UserInfo user = new UserInfo();

user.setUsername("xiaolong");

user.setPassword("123");

user.setBirthday(new Date());

// 保存UserInfo对象

session.save(user);

// 提交事务

session.getTransaction().commit();

} catch (Exception e) {

e.printStackTrace();

// 回滚事务

session.getTransaction().rollback();

} finally {

if (session != null) {

if (session.isOpen()) {

// 关闭session

session.close();

}

}

}

}

}

最好加入如下配置项,方便观察hibernate sql的生成:

<property name="hibernate.show_sql">true</property>

<property name="hibernate.format_sql">true</property>

最好加入log4j配置文件,将该配置文件拷贝到src下,便于程序的调试

查看控制台打印结果:

OK,第一个Hibernate项目运行成功!当然其中还有很多细节没有说明,需要了解的去查下资料即可。。

分享到:
评论

相关推荐

    hibernate第一个hibernate

    hibernate第一个hibernate

    Hibernate笔记 马士兵

    第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/R Mapping 11 一、 定义: 11 二、 Hibernate的创始人: 11 三、 Hibernate做什么: 12 四、 Hibernate存在的原因: ...

    hibernate的第一个例子

    这是hibernate 的超级简单的例子,只有一个持久化对象和一个辅助类,还有一个测试类,对于初学者很有参考价值

    Spring和Hibernate学习笔记

    第一课:第一个hibernate项目 第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... Spring: 第一课:构建Spring的环境并建立一个例子 第三课:...

    hibernate 第一节课

    hibernate的第一节课!适合于初级学者.用hibernate操作Oracle数据库 对表的添删改查

    hibernate第一个例子

    简单的hibernate连接,适合新手练习连接的使用,拍我

    我的第一个Hibernate 程序

    我的第一个Hibernate 程序,希望帮助大家更好的学习Hibernate。

    demo.zip springboot + hibernate 的第一个项目

    springboot + hibernate 的第一个项目

    菜鸟快速运行第一个hibernate

    菜鸟少走弯路,快速运行第一个hibernate!祝你成功!

    Hibernate3开发.pdf

    第一章:Hibernate入门 包括:是什么、ORMapping原理、能干什么、有什么、怎么做(做什么) 第二章:Hibernate的HelloWorld 第三章:Hibernate的配置 包括:cfg配置、mapping配置、组件映射、事务配置、缓存配置 ...

    Hibernate 的第一个例子

    学习HIbernate的第一个例子,便于初学者入门

    第一个hibernate程序及解释

    第一个hibernate程序及解释,增加、删除、显示、更新的代码及解释。适合初学者。

    我的第一个hibernate例子

    # Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的...

    第一个手写Hibernate

    第一个手写Hibernate,为那些手写Hibernate手写中注意事项做了注释!

    hibernate第一天笔记

    hibernate第一天的笔记,包含hibernate的基本操作,基本实现

    Hibernate3.1_学习源码

    实体层设计:与第一种方法设计一样,设计三个实体类,分父类和子类 配置文件:依然只配置父类的映射文件,加入discriminator和subclass元素加入子类的映射关系 06 06Hibernate_Collection : Hibernate的容器映射...

    hibernate入门--第一个实例

    hibernate 入门详细操作步骤 包括hibernate包,实例实现文档····

    Eclipse开发第一个Hibernate

    用Eclipse开发第一个Hibernate程序

    struts2+hibernate一周小项目总结

    struts2+hibernate一周小项目总结

    深入浅出Hibernate(PDF)第一部分

    注:因为资源有点大,所以折分上传,需要把深入浅出hibernate(PDF)第一部分.深入浅出hibernate(PDF)第二部分,深入浅出hibernate(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.

Global site tag (gtag.js) - Google Analytics