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

Hibernate环境搭建

 
阅读更多

Hibernate环境搭建

1、引入

下载地址http:www/hiberbate.org

将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中;

Antlr,jar,cglib.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar

配置文件hibernate.cfg.xml和hibernate.propertiese,xml和properties两种,这两个文件的作用一样,提供一个即可,推荐xml格式,下载目录/etc下实例配置文件。

可以在配置文件制定:

数据库的URL、用户名、密码、JDBC驱动类、方言等。启动时Hibernate会在CLASSPATH里找这个配置文件。

映射文件(hbm.xml,对象模型和关系模型的映射)。在/eg目录下有完整的hibernate示例。

Domain Object限制

1、默认的构造(必须的)。

2、有无异议的标示符id(主键)可选

3、非final的,对加载有影响 可选

Domain Java Object(User)

Public class User{

Private int id;

Private String name;

Private Date biethday;

//getter setter…

}

1、hbm.xml

<?xml version=”1.0”?>

<?xml version="1.0"?>

<hibernate-mapping package=“cn.itcast.domain">

<class name="User" table="user">

<id name="id">

<generator class="native"/>

</id>

<property name="name"/>

<property name="birthday”/>

</class>

</hibernate-mapping>

2、测试类

(一)初始化代码(只做一次)

Configuration cfg = new Configuration();

cfg.configure(“config.cfg.xml”);

也可以通过cfg.setProperty设置属性。

SessionFactory sessionFactory = cfg.buildSessionFactory()

(二)

Session session = null;Transaction tx = null;

try{

session = sessionFactory.openSession();

tx = session.beginTransaction();

//…你的代码save,delete,update,get…

tx.commit();

}catch(Exception e){

if(tx !=null)tx.rollback();throw e;

}finally{

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

}

Src根目录下的hibernate映射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>

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql:///demo</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="hibernate.hbm2ddl.auto">create</property>

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

<mapping resource="com/hbsi/domain/User.hbm.xml"/>

</session-factory>

</hibernate-configur

Session的几个注销方法

1、save,persist保存数据,persist在事务外不会产生insert语句。

2、delete,删除对象

3、update,更新对象,如果数据库中没有记录,会出现异常。

4、get,根据ID查,会立刻访问数据库。

5、Load,根据ID查,(返回的是代理,不会立即访问数据库)。

6、saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象还是托管的。

7、lock(把对象变成持久对象,但不会同步对象的状态)。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics