HIdernate入门

简介:

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

第一步:环境搭建  

1.下载jar包

  Hibernate的官方网站是http://hibernate.org,Hibernate的jar包都可以从官方网站下载得到。

2.部署jar包

  将下载好的jar包部署到自己的项目中。

  HIdernate入门

3.创建Hibernate配置文件hibernate.cfg.xml。

  在项目的src目录下添加Hibernate配置文件。

配置文件示例::

<?xml version='1.0' encoding='utf-8'?>
<!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> < !--数据库连接设置-->
     < !--数据库JDBC驱动设置-->
<property name="connection.driver_class"
>org.hsqldb.jdbcDriver</property>
  
    < !--数据库url-->
<property name="connection.url"
>jdbc:hsqldb:hsql://localhost</property>
    < !--数据库用户名-->
<property name="connection.username"
>sa</property>
    < !--数据库用户密码-->
<property name="connection.password"
></property> < !--JDBC连接池(使用内置的)-->
<property name="connection.pool_size"
>1</property> < !--SQL方言-->
<property name="dialect"
>org.hibernate.dialect.HSQLDialect</property> < !--使Hibernate自动会话上下文管理-->
<property name="current_session_context_class"
>thread</property> <!--关闭二级缓存-->
<property name="cache.provider_class"
>org.hibernate.cache.NoCacheProvider</property> <!-- 是否将运行期间生成的sql输出到日志以供调试-->
<property name="show_sql"
>true</property> < !--在启动时,删除和重新创建数据表结构-->
<property name="hbm2ddl.auto"
>update</property>
    
</hibernate-configuration >

4.创建持久化类和映射文件

  持久化类是指其实例状态需要被Hibernate持久化到数据库中的类,在应用程序设计中,持久化类通常对于需求中的业务实体类。

 映射文件一般命名:类名.hbm.xml

 映射文件配置示例:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.tutorial.domain"> <class name="Event" table="EVENTS">
<id name="id" column="EVENT_ID">
<generator class="native"/>
</id>
<property name="date" type="timestamp" column="EVENT_DATE"/>
<property name="title"/>
</class> </hibernate-mapping
>

Event为持久化类的类

table为持久化类对应的数据库表名

id:表示持久化类的id和表的主键的映射。

其中 name为持久化类的属性名,column为数据库表中对应的列名

property 节点定义持久化类中属性和数据库中字段的对应关系

5.在hibernate.cfg.xml文件中进行映射文件配置

示例

 <mapping resource="cn/lhl/entity/User.hbm.xml"/>

resource 为映射文件的全路径

第二部,使用Hibernate完成持久化操作       //读取并解析配置文件    

 //读取并解析配置文件
Configuration configuration=new Configuration().configure();
//创建session工厂对象
SessionFactory sf=configuration.buildSessionFactory();
//打开sessionn
Session session= sf.openSession();
//开始事务(怎删改操作必须,查询可选)
Transaction ts= session.beginTransaction();
//数据库操作
//修改
// User user= session.get(User.class,3);
// user.setName("wwwww");
// session.update(user);
//添加
// User user =new User();
// user.setName("1");
// user.setPwd("a");
// session.save(user);
//删除
// User user=new User();
// user.setId(2);
// session.delete(user);
//查询
// User user= session.get(User.class,3);
// System.out.println(user.getName());
//提交事务
ts.commit();
//关闭session
session.close();
上一篇:android shell常用命令


下一篇:Android学习记录(1)—Android中XML文件的序列化生成与解析