第一个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
第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/R Mapping 11 一、 定义: 11 二、 Hibernate的创始人: 11 三、 Hibernate做什么: 12 四、 Hibernate存在的原因: ...
这是hibernate 的超级简单的例子,只有一个持久化对象和一个辅助类,还有一个测试类,对于初学者很有参考价值
第一课:第一个hibernate项目 第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... Spring: 第一课:构建Spring的环境并建立一个例子 第三课:...
hibernate的第一节课!适合于初级学者.用hibernate操作Oracle数据库 对表的添删改查
简单的hibernate连接,适合新手练习连接的使用,拍我
我的第一个Hibernate 程序,希望帮助大家更好的学习Hibernate。
springboot + hibernate 的第一个项目
菜鸟少走弯路,快速运行第一个hibernate!祝你成功!
第一章:Hibernate入门 包括:是什么、ORMapping原理、能干什么、有什么、怎么做(做什么) 第二章:Hibernate的HelloWorld 第三章:Hibernate的配置 包括:cfg配置、mapping配置、组件映射、事务配置、缓存配置 ...
学习HIbernate的第一个例子,便于初学者入门
第一个hibernate程序及解释,增加、删除、显示、更新的代码及解释。适合初学者。
# Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的...
第一个手写Hibernate,为那些手写Hibernate手写中注意事项做了注释!
hibernate第一天的笔记,包含hibernate的基本操作,基本实现
实体层设计:与第一种方法设计一样,设计三个实体类,分父类和子类 配置文件:依然只配置父类的映射文件,加入discriminator和subclass元素加入子类的映射关系 06 06Hibernate_Collection : Hibernate的容器映射...
hibernate 入门详细操作步骤 包括hibernate包,实例实现文档····
用Eclipse开发第一个Hibernate程序
struts2+hibernate一周小项目总结
注:因为资源有点大,所以折分上传,需要把深入浅出hibernate(PDF)第一部分.深入浅出hibernate(PDF)第二部分,深入浅出hibernate(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.